Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Nimaro

[Resolvido] Apagar conteudo de uma text box?

Recommended Posts

ola a todos,

Tenho uma pagina php que me faz a pesquisa à minha base de dados por nome ou por telefone... o problema esta que quando abro a pagina as caixas de texto aparecem preenchidas com isto -----> <br /> <b>Notice</b>: Undefined variable: nome in <b>C:\wamp\www\Secretel\pesquisar_pacientes.php</b> on line <b>10</b><br />

Vou mostrar o meu codigo a ver se me conseguem ajudar...

---------------------------------------------------------------------------------------------------------------------------------------------

<?php require_once("includes/session.php");?>			
<?php require_once("includes/connection.php");?>
<?php require_once("includes/functions.php");?>
<title>Pesquisar Clientes</title>
<h1><center> Pesquisar Clientes </center></h1><br/>
<!--------PESQUISAR CLIENTES--------->
<form action="pesquisar_pacientes.php" method="post">
     <table>
         <tr><td>Nome:</td>
            <td><input type="text" name="nome" maxlength="30" value="<?php echo htmlentities($nome); ?>"/></td></tr>
         <tr><td colspan="2"><input type="submit" name="submit" value="Pesquisar" /></td></tr>
    </table>
</form>
<form action="pesquisar_pacientes.php" method="post">
     <table>
         <tr><td>Telefone:</td>
            <td><input type="text" name="telefone" maxlength="30" value="<?php echo htmlentities($telefone); ?>"/></td></tr>
         <tr><td colspan="2"><input type="submit" name="tele" value="Pesquisar" /></td></tr>
    </table>
</form>
<!----------------PESQUISA POR NOME---------->
<?php if(isset($_POST['submit'])){
       $nome = strip_tags($_POST['nome']);
       $exc = "SHOW TABLES"; /*VARIÁVEL RENOMEADA*/
       $query = mysql_query("SELECT * FROM pacientes WHERE nome = '".mysql_real_escape_string($nome)."'");
       echo "<center><font face=Verdana size=2><b>Tabelas da base de dados</b></font></center><br>";
       echo "<table>";
       while($dados = mysql_fetch_array($query)){
               $descreva = mysql_query("SELECT * FROM pacientes WHERE id='". $dados[0] ."'");
       }	
       while($atributos = mysql_fetch_array($descreva)){
               echo "<tr><td><font face=Verdana size=1>$atributos[0]</td><td><font face=Verdana size=1>| $atributos[1]</td><td><font face=Verdana size=1>| $atributos[2]</td><td><font face=Verdana size=1>| $atributos[3]</td><td><font face=Verdana size=1>| $atributos[4]</td></tr>";        }
       echo "</table>";
}[b][i]else{$nome = '';}[/i][/b]
?>
<!----------------PESQUISA POR TELEFONE---------->
<?php if(isset($_POST['tele'])){
       $telefone = strip_tags($_POST['telefone']);
       $exc = "SHOW TABLES"; /*VARIÁVEL RENOMEADA*/
       $query = mysql_query("SELECT * FROM pacientes WHERE telefone = ($telefone)");
       echo "<center><font face=Verdana size=2><b>Tabelas da base de dados</b></font></center><br>";
       echo "<table>";
       while($dados = mysql_fetch_array($query)){
               $descreva = mysql_query("SELECT * FROM pacientes WHERE id='". $dados[0] ."'");
       }	
       while($atributos = mysql_fetch_array($descreva)){
               echo "<tr><td><font face=Verdana size=1>$atributos[0]</td><td><font face=Verdana size=1>| $atributos[1]</td><td><font face=Verdana size=1>| $atributos[2]</td><td><font face=Verdana size=1>| $atributos[3]</td><td><font face=Verdana size=1>| $atributos[4]</td></tr>";        }
       echo "</table>";
}[b][i]else{$telefone = '';}[/i][/b]
?>
----------------------------------------------------------------------------------------------------------------------------

A parte que coloquei a negrito, é onde pensava que fazia aquilo que queria, ou seja, se nao ouver pedido da script ele coloca o campo sem nada, mas nao esta a funcionar assim por alguma razão.

Agradecia uma ajuda aqui de vocês...

Compartilhar este post


Link para o post
Compartilhar em outros sites

A variável 'nome' não existe, ou está em outro escopo.

 

Olhando o seu código acredito que o escopo correto seria o POST. $_POST['nome']

Compartilhar este post


Link para o post
Compartilhar em outros sites

hmmmm, nao entendi muito bem, é o que da ser novo em php...

 

Mas a variavel nome nao esta defenida aqui??? ---> <td><input type="text" name="nome" maxlength="30" value="<?php echo htmlentities($nome); ?>"/></td></tr>

 

Como faria entao para apagar o que esta dentro da text?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta isso

<?php echo (isset($_POST['nome'])) ? htmlentities($_POST['nome']) : ''; ?>

e pra entender melhor dá uma lida aqui:

http://php.net/manual/pt_BR/security.globals.php

http://www.php.net/manual/pt_BR/reserved.variables.post.php

http://www.vivaolinux.com.br/artigo/If-inline-para-PHP/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom.

 

O problema era que você estava tentando escrever o conteúdo de uma variável que não existia, você tem que verificar antes se a mesma existe.

 

E dá uma lida em alguma coisa a respeito de register_globals

 

Flw.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.