php problemas para receber valor de variável
Bom dia pessoal,
Sou iniciante em php+mysql e estou tentanto fazer uma consulta em um base de dados mas não consigo enviar o valor da variável $nome para fazer a consulta. Segue abaixo as páginas que estou usando:
Página que envia o nome para consultar
<center><font color="#0000FF"><h3>SISTEMA EXEMPLO EM PHP</h3></font></center>
<br>
<br>
<center>
<form method="post" action="resultado.php" name="nome">
<font color="$00000FF">Nome: </font>
$nome $_POST[$nome];
<input type="text" size="50" name="nome">
<input type="submit" value="Pesquisar">
</form>
</center>
<br>
Página que recebe o nome para consultar
<html>
<head>
<title>Resultado da Pesquisa</title>
</head>
<?php
print($nome); //mostrar o conteúdo da variável $nome na tela
$conecta = mysql_connect("localhost", "usuario", "senha") or print (mysql_error());
mysql_select_db("testephp", $conecta) or print(mysql_error()); $sql = "SELECT * FROM principal where nome like '$nome'";
$exe = mysql_query($sql, $conecta) or print(mysql_error());
?>
<body>
<center>
<table>
<tr>
<td><h2><font color="#FF0000">Consulta por nome</font></h2></td>
<td></td>
</tr>
</table>
</center>
<center>
<table border=0 width=60%>
<tr bgcolor="#0099cc">
<th width="10"><center><font color="#FFFFFF">Codigo</font></center></th>
<th width="50"><center><font color="#FFFFFF">Nome</font></center></th>
<th width="100"><center><font color="#FFFFFF">Endereco</font></center></th>
<th width="80"><center><font color="#FFFFFF">E_mail</font></center></th>
<th width="11"><center><font color="#FFFFFF">Telefone</font></center></th>
<th width="10"><center><font color="#FFFFFF">Data</font></center></th>
<th width="8"><center><font color="#FFFFFF">Hora</font></center></th>
</tr>
<?
while($valor = mysql_fetch_array($exe)) { ?>
<tr>
<td><font color="#0000FF" face="verdana" size="2"><?=$valor["codigo"] ?></font></td>
<td><font color="#0000FF" face="verdana" size="2"><?=$valor["nome"] ?></font></td>
<td><font color="#0000FF" face="verdana" size="2"><?=$valor["endereco"] ?></font></td>
<td><font color="#0000FF" face="verdana" size="2"><?=$valor["e_mail"] ?></font></td>
<td><font color="#0000FF" face="verdana" size="2"><?=$valor["telefone"] ?></font></td>
<td ><font color="#0000FF" face="verdana" size="2"><?=$valor["data"]?></font></td>
<td><font color="#0000FF" face="verdana" size="2"><?=$valor["hora"]?></font></td>
</tr>
<?
}
mysql_close($conecta);
?>
</table>
<br>
</body>
<html>
Se retiro a condição where = $nome retorna todos os registros cadastrados certinho.
Será que alguem poderia me ajudar? Desde já obrigado.
php problemas para receber valor de variável
Amigo,
A sua segunda script vc deve recuperar o conteúdo da variável $nome com o comando:
$nome=$_POST["nome"];
Voce pode retirar este mesmo comando acima ou algo parecido que se encontra na primeira script, que lá ele não tem serventia nenhuma.
A segunda script deve ficar assim:
<html>
<head>
<title>Resultado da Pesquisa</title>
</head>
<?php
// Isso aqui estava faltando na script
$nome=$_POST["nome"];
// Agora vc deve abrir o banco de dados e selecionar:
mysql_connect("localhost", "usuario", "senha");
mysql_select_db("$database") or die(mysql_error());
// Agora você define a Query que vai rodar:
$sql = "SELECT * FROM principal where nome like '$nome'";
// Agora você executa a query:
$exe = mysql_query($sql) or die(mysql_error());
// Pronto... $exe agora contém um vetor com os dados que foram lidos da base de dados do comando anterior
// Para você ter acesso aos valores que vc quer ainda há mais um comando:
?>
<body>
<center>
<table>
<tr>
<td><h2><font color="#FF0000">Consulta por nome</font></h2></td>
<td></td>
</tr>
</table>
</center>
<center>
<table border=0 width=60%>
<tr bgcolor="#0099cc">
<th width="10"><center><font color="#FFFFFF">Codigo</font></center></th>
<th width="50"><center><font color="#FFFFFF">Nome</font></center></th>
<th width="100"><center><font color="#FFFFFF">Endereco</font></center></th>
<th width="80"><center><font color="#FFFFFF">E_mail</font></center></th>
<th width="11"><center><font color="#FFFFFF">Telefone</font></center></th>
<th width="10"><center><font color="#FFFFFF">Data</font></center></th>
<th width="8"><center><font color="#FFFFFF">Hora</font></center></th>
</tr>
<?
while($valor = mysql_fetch_row($exe)) { ?>
<tr>
<td><font color="#0000FF" face="verdana" size="2"><? $valor["codigo"] ?></font></td>
<td><font color="#0000FF" face="verdana" size="2"><? $valor["nome"] ?></font></td>
<td><font color="#0000FF" face="verdana" size="2"><? $valor["endereco"] ?></font></td>
<td><font color="#0000FF" face="verdana" size="2"><? $valor["e_mail"] ?></font></td>
<td><font color="#0000FF" face="verdana" size="2"><? $valor["telefone"] ?></font></td>
<td ><font color="#0000FF" face="verdana" size="2"><? $valor["data"]?></font></td>
<td><font color="#0000FF" face="verdana" size="2"><? $valor["hora"]?></font></td>
</tr>
<?
}
mysql_close($conecta);
?>
</table>
<br>
</body>
<html>
Recomento vc consultar o Imasters.... (www.imasters.com.br)
Lá tem tudo o que vc precisa pra aprender php
Qualquer dúvida pode postar