|
|
|
| Подскажите мне как обработать форму:
<form action="index.php">
<table cellpadding="5" cellspacing="0" border="0"><tr><td>Фамилия</td><td>
<input name="search_family" type="text" id="search_form" value="" /></td><td></td></tr>
<tr><td>Имя</td><td>
<input name="search_name" type="text" id="search_form" value="" /></td><td></td></tr>
<tr><td>Город</td><td>
<input name="search_city" type="text" id="search_form" value="" /></td><td>
<input name="send_searchusers" type="submit" value="Найти" class="send_searchusers" /></td></tr>
</table></form>
Не могу настроить скрипт который принимал бы эту форму и производил поиск по базе по введенным в поля данным
Скрипт который обрабатывает эту форму:
if($_GET['search_family']!==""){
$family=$_GET['search_family'];
$query_searchusers="SELECT userID,name,family,live_city,foto FROM axt_user WHERE family LIKE '$family'";
if(isset($_GET['search_name']) & empty($_GET['search_city'])){
$family=$_GET['search_name'];
$query_searchusers="SELECT userID,name,family,live_city,foto FROM axt_user WHERE family='$family' AND name='$name'";
}
if(isset($_GET['search_city']) & empty($_GET['search_name'])){
$city=$_GET['search_city'];
$query_searchusers="SELECT userID,name,family,live_city,foto FROM axt_user WHERE family='$family' AND live_city='$city'";
}
if(isset($_GET['search_city']) & isset($_GET['search_name'])){
$city=$_GET['search_city'];
$query_searchusers="SELECT userID,name,family,live_city,foto FROM axt_user WHERE family='$family' AND live_city='$city' AND name='$name'";
}
}else{ exit("Фамилия обязательна"); }
$result=mysql_query($query_searchusers);
if(mysql_num_rows($result))
{
while($row=mysql_fetch_assoc($result))
{
echo '<div class="friends">
<div class="fitne_foto">
<img src="images/'.$row.'" width="50" height="50" /></div>
<div class="fitne_text"><span class="format_name">'.$row['name'].' '.$row['family'].'</span><br/><span class="format_city">'.$row['live_city'].'</span>
</div>
<div class="friends_add"><a href="#">Добавить в друзья</a></div>
</div>';
}
} else { echo "Результат пуст"; }
В строке браузера он выводит: index.php?search_family=&search_name=руслан&search_city=&send_searchusers=Найти
и на этом останавливается
Я пробовал в форме action прописать action="index.php?search=users", а затем проверить if($_GET['search']=='users') выполнить нужный мне код, не получается, наверняка неверный это метод для форм. Но ссылки у меня именно так нормально работают
Как здесь определить что отправлена именно эта форма поиска и надо выполнить нужным для этого скрипт? И как извлечь параметры? И должно ли так выводится в строке браузера? | |
|
|
|
|
|
|
|
для: ruslanaxti
(22.04.2011 в 01:35)
| | И почему выходит название кнопки send_searchusers=Найти | |
|
|
|
|
|
|
|
для: ruslanaxti
(22.04.2011 в 01:35)
| | Отладку удобнее всего начать с вывода дампа массива $_GET
>И как извлечь параметры?
Вроде у вас извлекается все верно.
>И должно ли так выводится в строке браузера?
Да, должны. | |
|
|
|
|
|
|
|
для: cheops
(22.04.2011 в 08:25)
| | А почему выходит значение кнопки send_searchusers=Найти в адресной строке? Так вроде не должно быть. В поисковиках название кнопки нету при запросе | |
|
|
|
|
|
|
|
для: ruslanaxti
(22.04.2011 в 20:52)
| | Нет, это как раз нормально. Поисковики не назначают атрибут name кнопкам, если вы уберете его, то и у вас этот параметр исчезнет. | |
|
|
|