+ Responder ao Tópico



  1. #1

    Padrão 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.

  2. #2
    fe_feu
    Visitante

    Padrão 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