Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite galerinha!
Pretendo fazer um sistema de busca em que o resultado aparece na mesma pagina do box de pesquisa, porém me devolveu o seguinte erro:
arquivo 1 - busca.php
<?php
include "conection.php"
?>
<html>
<head>
<title>Busca</title>
</head>
<body>
<form name "seachform" method="post" action="?busca.php?buscar">
Buscar Usuários: <input type="text" name="buscar"/> <input type="submit" value="IR"/>
</form>
<?php
$buscar=$_POST['buscar'];
$sql = mysql_query ("SELECTED * FROM usuarios WHERE nome LIKE '%".$buscar."%') or die (mysql_error());if ($row>0) {
while($linha - mysql_fetch_array ($sql)) {
$nome = $linha['nome'];
$sobrenome = $linha['sobrenome'];
$pais = $linha['pais'];
$estado = $linha['estado'];
$cidade = $linha['cidade'];
$email = $linha['email'];
$senha = $linha['senha'];
echo"<strong>nome:</strong>" .@$nome;
echo "<br> </br>";
echo "<strong>sobrenome:</strong>".@$sobrenome;
echo "<br> </br>";
echo "<strong>pais:</strong>".@$pais;
echo "<br> </br>";
echo "<strong>estado:</strong>".@$estado;
echo "<br> </br>";
echo "<strong>cidade:</strong>".@$cidade;
echo "<br> </br>";
echo "<strong>email:</strong>".@$email;
echo "<br> </br>";
echo "<strong>senha:</strong>".@$senha;
}
} else
echo "Desculpe nenhum usuário econtrado;
?>
</body>
</html>
arquivo 2 - conection.php
<?php
$host = "localhost";
$user = "root";
$pass = "";
$database = "cadastro";
$conection = mysql_connect($host, $user, $pass) or die(mysql_erro());
mysql_select_db($database); or die(mysql_error());
?>
erro:
( ! ) Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\wamp\www\cadastro\busca.php on line 21
vocês conseguem me identificar qual o erro?
Muito obrigado!
Poxa manin quanto erro por falta de atenção, até fiquei sem jeito agora...
Se não for pedir demais, após as atualizações gerou um novo erro:
/applications/core/interface/imageproxy/imageproxy.php?img=https://s31.postimg.org/4rvzd9s3f/php.jpg&key=04b749383f9ada7685cd0756421ef04e8fa8b28f7d02013b625716e200367096" alt="php.jpg" />
Estou fazendo este sistema com base em um tutorial.
Porém o colega que ensina mostra como fazer um sistema de busca em que o resultado aparece em uma segunda pagina, no entanto minha intenção é que o resultado apareça na mesma pagina, então adaptei.
a unica parte que fiz na duvida foi esta:
<form name "seachform" method="post" action="?busca.php?buscar">
não sei o que colocar na parte em vermelho.
Muito obrigado pela ajuda de vcs! abraços!
Não existe o ; antes do or die...
mysql_select_db($database); or die(mysql_error());
Use:
action="nome-da-pagina-que-executa-a-boca.php?buscar=alguma-coisa">
Poxa agora gerou outro erro: Estou começando a ficar encabulado:
/applications/core/interface/imageproxy/imageproxy.php?img=https://s31.postimg.org/q5gojb3fv/php.jpg&key=b94a4351bcc098667ed7295749d6029b6a91c8e950fd2f516d76f84e86fc210f" alt="php.jpg" />
<?php
include "connection.php"
?>
<html>
<head>
<title>Busca</title>
</head>
<body>
<div align="center" id="busca">
<form name "seachform" method="post" action="busca.php?buscar=nome"><input type="text" name="buscar"/> <input type="submit" value="IR"/>
</form>
<?php
$buscar=$_POST['buscar'];
$sql = mysql_query ("SELECTED * FROM usuarios WHERE nome LIKE '%".$buscar."%'") or die (mysql_error());
$row = msql_num_rows ($sql);
if ($row>0) {
while($linha = mysql_fetch_array ($sql)) {
$nome = $linha['nome'];
$sobrenome = $linha['sobrenome'];
$pais = $linha['pais'];
$estado = $linha['estado'];
$cidade = $linha['cidade'];
$email = $linha['email'];
$senha = $linha['senha'];
echo"<strong>nome:</strong>" .@$nome;
echo "<br> </br>";
echo "<strong>sobrenome:</strong>".@$sobrenome;
echo "<br> </br>";
echo "<strong>pais:</strong>".@$pais;
echo "<br> </br>";
echo "<strong>estado:</strong>".@$estado;
echo "<br> </br>";
echo "<strong>cidade:</strong>".@$cidade;
echo "<br> </br>";
echo "<strong>email:</strong>".@$email;
echo "<br> </br>";
echo "<strong>senha:</strong>".@$senha;
}
} else
echo "Desculpe nenhum usuário econtrado;"
?>
</body>
</html>
connection.php
<?php
$host = "localhost";
$user = "root";
$pass = "";
$database = "cadastro";
$connection = mysql_connect($host, $user, $pass) or die(mysql_error());
mysql_select_db($database) or die(mysql_error());
?>
Sinto que ta bem pertinho!
Tchê, o fluxo para quem está iniciando:
1 - Apareceu o erro, leia.
2 - Se não entendeu o que está escrito, pare de tentar aprender e primeiro entenda o básico de inglês ou aprenda a usar o google tradutor;
3 - Mesmo depois de traduzir você ainda não entendeu, pega o erro e joga no google.
4 - Fez até o 3 e não teve resultado, ai estamos aqui para te ajudar.
Esses 2 erros que estão aparecendo para você são comuns:
1 - mysql_* já foram removidas, se você rodar esse código em um servidor com PHP 7 a função vai ser undefined (indefinida), já que ele não existirá, o erro está te avisando que a função AINDA existe na sua instalação, mas ela já está marcada como obsoleta e será removida no futuro (no caso o futuro, que é o PHP 7 já chegou).
2 - O segundo erro está dizendo que $_POST['buscar'] não existe, ele só existirá quando você disparar o formulário, logo use isset para verificar isto:
if(isset($_POST['buscar'])){
$buscar=$_POST['buscar'];
$sql = mysql_query ("SELECT...
...
}Vá na documentação primeiro:
http://php.net/manual/pt_BR/function.mysql-query.php
no seu codigo:
<?php
include "connection.php"
?>
<html>
<head>
<title>Busca</title>
</head>
<body>
<div align="center" id="busca">
<form name "seachform" method="post" action="busca.php?buscar=nome"><input type="text" name="buscar"/> <input type="submit" value="IR"/>
</form>
<?php
if(isset($_POST['buscar'])){
$buscar = $_POST['buscar'];//$row = msql_num_rows ($sql); está errado
$row = mysql_num_rows ($sql);
if ($row > 0) {
while($linha = mysql_fetch_array ($sql)) {
$nome = $linha['nome'];
$sobrenome = $linha['sobrenome'];
$pais = $linha['pais'];
$estado = $linha['estado'];
$cidade = $linha['cidade'];
$email = $linha['email'];
$senha = $linha['senha'];
echo"<strong>nome:</strong>" .@$nome;
echo "<br> </br>";
echo "<strong>sobrenome:</strong>".@$sobrenome;
echo "<br> </br>";
echo "<strong>pais:</strong>".@$pais;
echo "<br> </br>";
echo "<strong>estado:</strong>".@$estado;
echo "<br> </br>";
echo "<strong>cidade:</strong>".@$cidade;
echo "<br> </br>";
echo "<strong>email:</strong>".@$email;
echo "<br> </br>";
echo "<strong>senha:</strong>".@$senha;
}
} else
echo "Desculpe nenhum usuário econtrado";
}
}
?></body>
</html>
Aqui:
$sql = mysql_query ("SELECTED * FROM usuarios WHERE nome LIKE '%".$buscar."%') or die (mysql_error());
Ai está faltando fechar a aspa:
$sql = mysql_query ("SELECTED * FROM usuarios WHERE nome LIKE '%".$buscar."%'") or die (mysql_error());
Na linha de baixo:
$row = msql_num_rows ($sql)
Está faltando o ponto e vírgula
E na linha:
echo "Desculpe nenhum usuário econtrado;
Você também esquece de fechar a aspa