Я создаю поиск, который может запрашивать несколько полей - поиск мужчины, у которого есть слуховой аппарат.isset() не работает должным образом
HTML-код в виде выглядит следующим образом
<form name="O_search" method="post" action="search.php">
Gender (M/F)<input type="text" name="O_gender"/>
Hearing Aid (Y/N)<input type="text" name="O_hear"/>
<input type="hidden" name="O_searching" value="yes" />
код PHP выглядит следующим образом
if (isset($_POST['O_searching']))
{
echo "<h2>Results</h2><p>";
if (isset($_POST['O_gender']) || isset($_POST['O_hear']) == "")
{
echo "You forgot to enter a search term";
exit;
}
$Gender =$_POST['O_gender'];
$Hear =$_POST['O_hear'];
$Gender = strtoupper($Gender);
$Gender = strip_tags($Gender);
$Gender = trim ($Gender);
$Hear = strtoupper($Hear);
$Hear = strip_tags($Hear);
$Hear = trim ($Hear);
$Odata = mysql_query("SELECT * FROM p_candidate WHERE(`gender` LIKE '%".$Gender."%') AND (`hear` LIKE '%".$Hear."%')") or die(mysql_error());
while($result = mysql_fetch_array($Odata))
{
$candidate_id =$result['candidate_id'];
echo "<tr>";
echo "<td><a href ='opening_candidatepage.php?id=$candidate_id'>".$result['R_first_name']." ".$result['R_last_name']."</td>";
echo "<td>".$result['R_county']."</td>";
}
$anymatches=mysql_num_rows($Odata);
if ($anymatches == 0)
{
echo "Sorry, there is no match for your query<br><br>";
}
echo "<b>Searched For:</b> " .$Gender." and".$Hear ;
}
?>
Я не знаю, где я пошло не так, но даже когда я ввожу действительный поисковый запрос в поле, я получаю сообщение . Вы забыли ввести поисковый запрос
'isset ($ _ POST ['O_hear']) ==" "' - вам не нужно сравнение там, просто 'isset ($ _ POST ['O_hear'])' будет делать это – andrewsi