In this code I'm going to use it on the same page for the result to return to it, how do I validate the form only when I click the submit
button?
The code below on the same page returns the error that the query field is empty. Notice: Undefined index: consulta in C:\xampp\htdocs\index.php on line 227
<form method="POST" action="#" id="consulta" target=”_self”>
<p>
<font face="Verdana, Arial, Helvetica, sans-serif">
<font size="2">
<label for="consulta">Buscar:</label>
<input type="text" name="consulta" size="16" style="padding-left: 5px; outline: none; font-size: 9 pt; color: #000000; font-family: Verdana; font-variant: small-; border-radius: 8px; border: 1px solid #000000">
</font>
</font>
<font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<input type="hidden" value="Ok" name="consulta" />
<input type="submit" value="Pesquisar" style="outline: none; font-size: 8 pt; color: #000000; font-family: Verdana; font-variant: small-caps; border-radius: 8px; border: 1 solid #000000">
</font></p>
</form>
PHP
<?php
$host = 'localhost'; // endereço do seu mysql
$user = 'root'; // usuário
$pass = ''; // senha
$con = mysql_connect($host,$user,$pass); // função de conexão
$db = 'consultapagina'; // nome do banco de dados
mysql_select_db($db,$con) or print mysql_error(); // seleção do banco de dados
// Conecte-se ao MySQL antes desse ponto
// Salva o que foi buscado em uma variável
$busca = mysql_real_escape_string($_POST['consulta']);
// ============================================
// Monta outra consulta MySQL para a busca
$consultasql = "SELECT * FROM 'pagina' WHERE (('descricao'LIKE '%".$busca."%') OR ('titulo'LIKE '%".$busca."%')) ORDER BY 'titulo' DESC";
// Executa a consulta
$resultadosql = mysql_query($consultasql) OR DIE(mysql_error());
// ============================================
// Começa a exibição dos resultados
while ($resultado = mysql_fetch_assoc($resultadosql)) {
$titulo = $resultado['titulo'];
$texto = $resultado['descricao'];
$link = $resultado['link'];
$arquivo = $resultado['arquivo'];
echo "<ul>";
echo "<li>";
echo "<a href='{$arquivo}'>" ;
echo "{$titulo} </a>- {$texto}";
echo "</li>";
echo "</ul>";
$conta= $resultado;
}
$contador = mysql_num_rows($resultadosql);
// conta quantos registros encontrados com a nossa especificação
if ($contador == 0) {
echo "Nenhum resultado encontrado para ".$busca."!";
} else {
// senão
if ($contador == 1) {
echo "1 resultado encontrado para ".$busca."!";
}
// se houver um resultado diz que existe um resultado
if ($contador > 1) {
echo "$contador resultados encontrados para ".$busca."!";
}
}
?>