Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Как протащить переменные через несколько страниц???
print '<input type="checkbox" name="a" value="a" onclick="checkAll(document.podborka.vend)"> Все производители<br>';
$i=1;
while ($vendor = mysql_fetch_assoc($res_price)) {
if ($vendor['vendor'] <> "") {
print '<input id = "vend" name="P1['.$vendor['vendor'].']" type="checkbox" value="ON"';
if ($P1[$vendor['vendor']] == "ON") {print "checked"; }
print '> '.$vendor['vendor'].'<br>';
}
$i++;
}
print '<br><input type="submit" class = "formsubsearch" value="Подобрать">';
print "</form>";
Данные из формы передаются, обрабатываются и формируют запрос к БД, но если результат разбивается на несколько страниц, скажем на 2-3, то при переходе на 2 или 3 страницы ничего не выводится, запрос тереяется.
Подскажите как можно сохранить запрос при POST методе с многостраничным выводом?
Метод GET не подходит, запросы бывают настолько емкими, что просто не могут разместиться в строке URL
Очень надеюсь, на помощь !
evgenijj
Отправлено: 12 Июня, 2007 - 12:14:12
Участник
Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006 Откуда: Москва
Покинул форум
Сообщений всего: 6
Дата рег-ции: Июнь 2007
Помог: 0 раз(а)
Цитата:
Каким образом данные из формы у тебя будут доступны на 2-ой странице?
они остануться в форме, в полях где их ввели. И будут там на протяжении всей выдачи результата поиска.
evgenijj
Отправлено: 12 Июня, 2007 - 13:59:33
Участник
Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006 Откуда: Москва
Помог: 10 раз(а)
foboss26 пишет:
Цитата:
Каким образом данные из формы у тебя будут доступны на 2-ой странице?
они остануться в форме, в полях где их ввели. И будут там на протяжении всей выдачи результата поиска.
Да, но когда пользователь переходит на вторую страницу результатов поиска, он не нажимает кнопку "Искать" (т.е. не отправляет данные формы). Он просто щелкает по ссылке
<a href="search.php?page=2">2</a>
Так откуда ты будешь брать переменные формы ($_POST["prdo"], $_POST["prot"]) чтобы сформироать запрос к БД?
Покинул форум
Сообщений всего: 6
Дата рег-ции: Июнь 2007
Помог: 0 раз(а)
evgenijj пишет:
foboss26 пишет:
Цитата:
Каким образом данные из формы у тебя будут доступны на 2-ой странице?
они остануться в форме, в полях где их ввели. И будут там на протяжении всей выдачи результата поиска.
Да, но когда пользователь переходит на вторую страницу результатов поиска, он не нажимает кнопку "Искать" (т.е. не отправляет данные формы). Он просто щелкает по ссылке
<a href="search.php?page=2">2</a>
Так откуда ты будешь брать переменные формы ($_POST["prdo"], $_POST["prot"]) чтобы сформироать запрос к БД?
Тогда попробую на сессии сделать, только подскажите как затолкать массив переменных $_POST['P1'] в сессию, в форме это выглядит так name="P1['.$vendor['vendor'].']"
evgenijj
Отправлено: 12 Июня, 2007 - 14:57:59
Участник
Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006 Откуда: Москва
Тебе можно сделать очень просто
$_SESSION["search"] = $_POST;
и в дальнейшем вместо $_POST["var"] обращаться к $_SESSION["search"]["var"]
Благодарю, за ценные советы ))
Стало работать, только если меняешь запрос поиска, сессия отдает данные полученные ранее, и возвращаются предидущие результаты ((
evgenijj
Отправлено: 12 Июня, 2007 - 16:02:36
Участник
Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006 Откуда: Москва
Помог: 10 раз(а)
Цитата:
Стало работать, только если меняешь запрос поиска, сессия отдает данные полученные ранее, и возвращаются предидущие результаты ((
Не надо все так понимать буквально ($_SESSION["search"] = $_POST) -- неплохо и свою голову подключать
<input type="submit" name = "search" value="Подобрать">
if ( isset( $_POST["search"] ) ) $_SESSION["search"] = $_POST;
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.