<div class="search"><div id="sForm">
<h1>Квартиры на продажу</h1>
<form method="POST" action="/search/" id='frm' >
<table cellpadding="0" cellspacing="0" summary="Форма поиска">
<tr class="main">
<td class="geo">
<p>Улицы:</p>
<div>
<input type="text" class="ac_input" autocomplete="off" value="" maxlength="200" id="streetlst" name="street"/>
<!--input type="text" id="p_StreetName" name="p_StreetName" value="" /-->
</div>
<p><strong>Цена</strong> <dfn>(от — до)</dfn>:</p>
<div><input type="text" name="price" class="short key" value="" /><input name="price2" type="text" class="short key" value="" /><dfn> у.о.</dfn></div> </td>
<td>
<p>Комнат <dfn>(от — до)</dfn>:</p>
<div><input name="room1" type="text" class="short" value="" /><input name="room2" type="text" class="short" value="" /></div>
<p>Этаж <dfn>(от — до)</dfn>:</p>
<div><input name="floor1" type="text" class="short" value="" /><input name="floor2" type="text" class="short" value="" /></div></td>
<td class="control">
<p>Дата внесения <dfn>(от — до)</dfn>:</p>
<div>
<input name="date1" id="date1" type="text" class="short" value="" style="margin-right:2px !important;"/>
<input id="date2" name="date2" type="text" class="short" value="" style="margin-right:2px !important;margin-left:4px !important;"/>
</div>
<p> </p>
<div style="position: relative;">Или введите код:<br \>
<input name="real_code" type="text" id="real_code" class="ac_input" />
</div>
<p> </p>
<div><input type="submit" class="submit" id="search" value="Поиск" /></div> </td>
</tr>
<tr class="ruler">
<td colspan="2"> </td>
<tr class="bottom">
<td class="l" colspan="2"> </td>
<td class="r"> </td>
</tr>
</table>
</form>
</div></div>
Спустя 13 минут, 13 секунд (27.06.2011 - 15:01) Winston написал(а):
Цитата (Oliver Varnce @ 27.06.2011 - 14:48) |
action="/search/" |
У тебя ЧПУ, или ты отправляешь форму на каталог?
Как ты принимаешь данные из формы ?
Спустя 17 секунд (27.06.2011 - 15:01) linker написал(а):
Где обработчик?
Спустя 1 час, 1 минута, 1 секунда (27.06.2011 - 16:02) Oliver Varnce написал(а):
у меня ЧПУ, тоесть передает в файл search.php, обработчик рабочий, но вот есть одно но, в пост ничего не приходит в него, вот код обработчика:
в других темах с вашей помощью его удалось запустить но с другой, не форматированной формы.
require_once '_init.php';
//создаем массив полей, которые могут использоваться в запросе
$row = array('real_code'=>NULL,
'street'=>NULL,
'price1'=>NULL,
'price2'=>NULL,
'rooms1'=>NULL,
'rooms2'=>NULL,
'floor1'=>NULL,
'floor2'=>NULL,
'date1'=>NULL,
'date2'=>NULL);
$query_filter = '';
$query_filter_array = array();
// проверяем отправили ли форму
//смотрим что у нас пришло с поста
if ($_POST['submit'])
{
foreach($row as $key=>$value)
{
if(!array_key_exists($key, $_POST) || empty($_POST[$key]))
continue;
switch($key)
{
case 'price1' :
$query_filter_array[] = '`'.$key. '` >= \''.mysql_real_escape_string($_POST[$key]).'\'';
break;
case 'price2' :
$query_filter_array[] = '`'.$key. '` <= \''.mysql_real_escape_string($_POST[$key]).'\'';
break;
case 'rooms1' :
$query_filter_array[] = '`'.$key. '` >= \''.mysql_real_escape_string($_POST[$key]).'\'';
break;
case 'rooms2' :
$query_filter_array[] = '`'.$key. '` <= \''.mysql_real_escape_string($_POST[$key]).'\'';
break;
case 'floor1' :
$query_filter_array[] = '`'.$key. '` >= \''.mysql_real_escape_string($_POST[$key]).'\'';
break;
case 'floor2' :
$query_filter_array[] = '`'.$key. '` <= \''.mysql_real_escape_string($_POST[$key]).'\'';
break;
default :
$query_filter_array[] = '`'.$key. '` LIKE \''.mysql_real_escape_string($_POST[$key]).'\'';
}
}
}
//проверяем было ли что-то заполнено
//если да то разбираем массив
if(!empty($query_filter_array)){
$query_filter = " WHERE ".implode(' AND ', $query_filter_array);
}
$tQuery ='SELECT * FROM `realty`';
$query = $tQuery.$query_filter;
echo $query;
//собираем весь запрос и выполняем
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
$logo = '<img src="/uploads/realty/';
$href='<a href="/'.$LANG.'/'.$row['id_realty'].'/">';
if ($result)
{
if (mysql_num_rows($result))
{
$content .= '<div class="searchresult">';
$content .= '<table border= 1><th class="rImage"> </th>
<th nowrap="nowrap">Комн.</th>
<th nowrap="nowrap">Адрес</th>
<th nowrap="nowrap">Эт.</th>
<th nowrap="nowrap">Площадь<small>м<sup>2</sup></small></th>
<th class="rPrice" nowrap="nowrap">Ціна, у.о.</th>
<th nowrap="nowrap"> </th>';
while ($row = mysql_fetch_assoc($result))
{
$content .= '<tr>'
. '<td>'.$logo. $row['logo'].'">' .'</td>'
.'<td>'. $row['rooms1'] .'</td>'
. '<td><b>'. $row['region'].'</b>,<br>' . $row ['street']
.'<td>'. $row['floor'] .'</td>'
.'<td>'. $row['area'] .'</td>'
.'<td>'. $row['price1'] .'</td>'
.'<td>'. '<a href="/'.$LANG.'/realty/'.$row['id_realty'].'/">Подробнее</a>' .'</td>'
. '</tr><tr> </tr>';
}
$content .= '</table>';
$content .= '</div>';
$content .= '</a>';
} else $content .= 'Ничего не найдено';
в других темах с вашей помощью его удалось запустить но с другой, не форматированной формы.
Спустя 2 минуты, 43 секунды (27.06.2011 - 16:05) Winston написал(а):
В $_POST вообще пусто ?
Что показывает print_r($_POST; ?
Что показывает print_r($_POST; ?
Спустя 14 минут, 46 секунд (27.06.2011 - 16:20) Oliver Varnce написал(а):
пустоту! причем это только на этой форме, вот есть просто форма для теста, там, все работает отлично!
<div class="search"><div id="sForm">
<h1>Поиск недвижимости по коду</h1>
<form method="POST" action="/ru/search/" id='frm' >
<table cellpadding="0" cellspacing="0" summary="Форма поиска">
<td class="control">
<p> </p>
<div style="position: inherit; float:left; width:500px;">
<div style="position:inherit; width:340px; float:left;">
<input name="real_code" type="text" id="real_code" class="right key" />
<input name="street" type="text" id="real_code" value="Попова" class="right key" />
<input name="price1" type="text" id="real_code" value="1000" class="right key" />
<input name="price2" type="text" id="real_code" value="65000" class="right key" />
<input name="rooms1" type="text" id="real_code" value="" class="right key" />
<input name="rooms2" type="text" id="real_code" value="" class="right key" />
</div>
<div style="position:inherit; float:left; width:160px;">
<input type="submit" name="submit" class="submit" id="search" value="Поиск" /><input type="button" onclick="resetIT()" name="reset" class="submit right" value="Сброс" />
</div>
</div>
<p> </p>
<div></div> </td>
</tr>
<tr class="ruler">
<tr class="bottom">
<td class="l" colspan="6"> </td>
</tr>
</table>
</form>
</div></div>
Спустя 12 минут, 33 секунды (27.06.2011 - 16:32) bodja написал(а):
action="/ru/search/"
не оно?
не оно?
Спустя 1 час, 2 минуты (27.06.2011 - 17:34) Oliver Varnce написал(а):
ну это понятно)) то я не допечатал сюда), оно передает в обработчик но хвост запроса не добавляется...
Спустя 7 минут, 30 секунд (27.06.2011 - 17:42) Oliver Varnce написал(а):
Дико извиняюсь, всетаки POST все таки передает в обработчик значения. А вот хвост не докидывает...
Я так понял у меня баг с обработчиком, а именно со swich, товарищи знатоки поправьте меня при возможности!
Я так понял у меня баг с обработчиком, а именно со swich, товарищи знатоки поправьте меня при возможности!
Спустя 1 час, 3 минуты, 11 секунд (27.06.2011 - 18:45) bodja написал(а):
<input type="submit" name="submit" class="submit" id="search" value="Поиск" />
Ну думаю ,енто точно оно.
Ну думаю ,енто точно оно.
Спустя 7 минут, 9 секунд (27.06.2011 - 18:52) Winston написал(а):
Цитата (bodja @ 27.06.2011 - 18:45) |
<input type="submit" name="submit" class="submit" id="search" value="Поиск" /> |
А что здесь такого ?
Принимается как обычно $_POST['submit'];
Спустя 2 минуты, 24 секунды (27.06.2011 - 18:54) bodja написал(а):
Ну так его и нету см.№1
Спустя 32 минуты, 29 секунд (27.06.2011 - 19:27) Oliver Varnce написал(а):
bodja вы были правы, спасибо Вам за вашу внимательность) И всем участникам данной темы тоже большое мерси!
_____________
мой хостинг - GlobalNET.com.ua