[RESOLVIDO] HTML/PHP form com submit enviar dados! HELP (URGENT PLEASE)

redy

Membro
Código:
<?php
 
$user= $_POST['nome'];
$pass= $_POST['password'];
 
$ligax = @mysql_pconnect('192.168.2.2', $user, $pass) ;
if($ligax){
$bd=mysql_select_db('a12-ig2-12_bd',$ligax);
echo 'Conseguiu conectar-se a base dados com sucesso';
?>
 
<form action="CriarTabelas.php" method="post">
<br /><input type="submit" value="Criar Tabelas">
</form>
 
<form action="Inserir.php" method="post">
<br /><input type="submit" value="Inserir Registos">
</form>
 
<form action="Actualizar.php" method="post">
<br /><input type="submit" value="Actualizar Registos">
</form>
 
<form action="Listar.php" method="post">
<br /><input type="submit" value="Listar Registos">
</form>
 
<?php
}
else
header("Location: index.php");
}
?>
People, é assim ja postei aqui antes algo do género, so que o meu prof esteve a dizer para fazer de outra forma, e tenho que fazer a vontade nhe! -.-'

Tipo, nos form's, eu precisava de enviar a password e o user'name, sempre que carrega-se no botao ele envia-va esses dados, como fasso isso?

(Tipo, o programa esta a receber esses dados de um formulário denominado Index.html, e tipo, aki ele primeiro tenta fazer a conecçao, se nao der, dpois chama o formulario de novo, se der mostra os botoes, so para perceberem um pouco como está feito.)

Abraço, redy
Ajudem-me urgente please!
 
Última edição:
Não percebi grande coisa do que queres porque a explicação está uma trapalhada. O professor quer o quê? E o que é que tu queres?
Um form de login? Pa enviar username e password?

<form action="qqcoisa.php" method="post">
<input type="text" id="username" name="username">

<input type="password" id="password" name="password">


<br /><input type="submit" value="Enviar dados">
</form>

Depois tens o tal qqcoisa.php que envia/confirma esses dados
 
Tipo, talvez nao me tenha explicado mto bem...

e assim, eu tenho o formulário q é o Index.php.
O formulário envia para este documento, que faz a validação e diz se conectou ou nao a BD e se pode ou nao interagir com esta, se conseguir, ele apresenta uns botões que fazem adicionar dados, actualizar, listar, etc a BD. caso nao, ele volta ao login.

Mas tipo, ele aqui so faz a primeira validação, depois, ao carregar nos botoes, como ele vai para outra pagina. a ligaçao é perdida, e eu queria enviar os dados (user e Pass) para poder voltar fazer a conecçao na outra pagina sem que o utilizador tenha q voltar a meter o User e a Pass compreende... no fundo o que quero é saber como posso eu enviar esses dados quando o utilizador carregue nos botoes de Inserir, Listar, etc!

Espero ter sido mais explicido agora...
Saudaçoes
 
Basicamente então sempre que queres efectuar uma acção precisas de voltar a ligar-te à Base-de-Dados.

O que podes implementar é que sempre que o utilizador faça uma acção ele terá que escrever o seu Username e Palavra-Passe.
Pôr isto é secante para o utilizador, pois ele terá que voltar a escrever sempre a mesma coisa, mas HTML tem um tipo especial de input, que é o <input type="hidden" /> que é um campo invisível. O utilizador não o pode preencher, mas tu sim, no código.

Pegamos então num dos teus formulários. Todos os input têm um atributo interessante: o value=" " que é o valor por defeito, é nele que vais escrever.
Código:
<form action="Inserir.php" method="post">
  <br />
  <input type="submit" value="Inserir Registos">
</form>
Agora aqui adicionas os campos de Input invisíveis e atribuis-lhes os valores de $user e $pass. São praticamente como se fossem campos de texto não editáveis.
Código:
<form action="Inserir.php" method="post">
  <input type="hidden" name="nome" value="<?php echo $user; ?>" />
  <input type="hidden" name="password" value="<?php echo $pass; ?>" />
  <br />
  <input type="submit" value="Inserir Registos">
</form>
Com isto vais 'transportar' os dados de utilizador e password sempre juntamente com o formulário da acção.
Para entenderes melhor o que realmente está a acontecer troca o type="hidden" por type="text" e assim vês mesmo o valor que estás a utilizar.
 
Sessions são variáveis que nos permitem "transportar" dados de uma página para a outra, assim de uma forma muito resumida e trocada por miúdos.

Eu não percebi muito bem o teu objectivo mas aqui vai:

Código:
<?php

session_start();

if(isset($_SESSION['user']) && isset($_SESSION['pass'])
{ 
    $q = mysql_connect( [I]$host[/I], [I]$user[/I], [I]$pass[/I]);
    if($q)
    {
        // formulario inserir, eliminar, actualizar etc
    } else { echo "Nao se conseguiu ligar à BD, voltar ao index(link)"; }
} 
else 
{ 
   // formulario do login 
   //...

   $_SESSION['user'] = $_POST['user'];
   $_SESSION['pass'] = $_POST['pass'];

}
?>

E em todas as páginas que criares metes o "session_start();".
É obvio que tem de levar mais uns ajustes até conseguir funcionar como tu queres, mas se quiseres aprender mais sobre sessões vê isto:
http://www.tizag.com/phpT/phpsessions.php
 
Última edição:
[RESOLVIDO]

Bem, obrigado pela ajuda de todos :D mostro adiante como ficou/método usado:
index.php disse:
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Untitled</title>
<?php
$user= $_POST['nome'];
$pass= $_POST['password'];
?>
</head>
<body>
<?php

if (empty($user)||empty($pass)){
?>
<form action="index.php" method="post">
Nome: <input type="text" name="nome" >
<br>
Password: <input type="password" name="password" >
<br>
<input type="submit" value="Ligar BD">
</form>

 <?php
}
else{
$ligax = @mysql_connect('192.168.2.2', $user, $pass) ;
if($ligax){
$bd=mysql_select_db('a12-ig2-12_bd',$ligax);
echo 'Conseguiu conectar-se a base dados com sucesso';
?>

<form action="CriarTabelas.php" method="post">
<br /><input type="submit" value="Criar Tabelas">
<input type="hidden" name="nome" value="<?php echo $user; ?>" />
<input type="hidden" name="password" value="<?php echo $pass; ?>" />
</form>

<form action="inserir.php" method="post">
<br /><input type="submit" value="Inserir Registos">
<input type="hidden" name="nome" value="<?php echo $user; ?>" />
<input type="hidden" name="password" value="<?php echo $pass; ?>" />
</form>

<form action="Actualizar.php" method="post">
<br /><input type="submit" value="Actualizar Registos">
<input type="hidden" name="nome" value="<?php echo $_POST['nome']; ?>" />
<input type="hidden" name="password" value="<?php echo $_POST['password']; ?>" />
</form>

<form action="Listar.php" method="post">
<br /><input type="submit" value="Listar Registos">
<input type="hidden" name="nome" value="<?php echo $_POST['nome']; ?>" />
<input type="hidden" name="password" value="<?php echo $_POST['password']; ?>" />
</form>

<?php
Mysql_close($ligax);
}
else
header("Location: index.php");
}
?>
</body>
</html>

Mostro apenas o Listar.php pq os outros sao iguais, apenas muda o codigo SQL

Listar.php disse:
PHP:
<?php
$user= $_POST['nome'];
$pass= $_POST['password'];

$ligax = @mysql_pconnect('192.168.2.2', $user, $pass) ;
if($ligax){
$bd=mysql_select_db('a12-ig2-12_bd',$ligax);
echo 'Conseguiu conectar-se a base dados com sucesso';

$query="Select * FROM Fornecedores";
$result=mysql_query($query);
$num_res=mysql_num_rows($result);

echo 'Tabela Fornecedores';
echo '<table border="1" style="height:20px">';
echo '<td width="60"> Codigo</td>';
echo '<td width="200"> Nome</td>';
echo '<td width="200"> Morada</td>';
echo '<td width="90"> Telefone</td>';         
echo '</tr>';


for ($i=0; $i<$num_res; $i++){
      $row=mysql_fetch_assoc($result);
                        
            echo '<td width="60">'.$row['codforn'].'</td>';
            echo '<td width="200" align="left">'.$row['nome'].'</td>';
            echo '<td width="200" align="left">'.$row['morada'].'</td>';
            echo '<td width="90">'.$row['telefone'].'</td>';
            echo '</tr>';
}
            echo '</table>';
            echo '<br />';

$query="Select * FROM Produtos";
$result=mysql_query($query);
$num_res=mysql_num_rows($result);


echo 'Tabela Produtos';
echo '<table border="1" style="height:20px">';
echo '<td width="80"> Codigo Produto</td>';
echo '<td width="200"> Designacão</td>';
echo '<td width="99"> Preco Unitário</td>';
echo '<td width="70"> Cod_For</td>';         
echo '</tr>';


for ($i=0; $i<$num_res; $i++){
$row=mysql_fetch_assoc($result);

            echo '<td width="80">'.$row['codprod'].'</td>';
            echo '<td width="200" align="left">'.$row['designacao'].'</td>';
            echo '<td width="99" align="right">'.$row['precounit'].'</td>';
            echo '<td width="70">'.$row['codforn'].'</td>';
            
      echo '</tr>';
}
            echo '</table>';

Mysql_close($ligax);
}
?>

Desde ja o meu muito obrigado!
 
Back
Topo