|
|
|
|
|
для: rubiroide
(16.04.2010 в 00:06)
| | м-да, каждый для себя делает какие угодно выводы )))
просто может быть сначала нужно что-то делать, и уже потом смотреть на ожидаемый результат, а не наоборот | |
|
|
|
|
|
|
|
для: rubiroide
(15.04.2010 в 23:09)
| | Проблему решил. Спасибоза помощь. Просто перенес код
if ($action != 1)
{
$metro = $_GET['metro'];
$_SESSION['metro'] = $metro;
}
else
{
$metro = $_SESSION['metro'];
}
|
поближе к session_start(); и все заработало.
ВЫВОД: код работы с сессией не надо разбрасывать по скрипту!!!!!!
P.S. Скрипт неделю назад работал и в разбросанном виде. | |
|
|
|
|
|
|
|
для: rubiroide
(15.04.2010 в 23:09)
| | Как он выглядит-то этот массив?
Может у Вас не массив, а просто набор сгенерирован?
станций метро даже в самых крупных городах редко бывает больше нескольких сотен.
Набор такой мощности можно упаковать в несколько десятков символов. А их можно передать хоть через GET | |
|
|
|
|
|
|
|
для: Trianon
(15.04.2010 в 23:03)
| | Кажется в моем случае это нереально. Такой вот я скрип от незнания написал(http://www.arenda-liferealty.ru/ofis.php). База очень динамичная (агентство недвижимости) и через час на стр. 2 может быть совсем не то... Страница формируется на основе анализа массива, который я передаю (массив станций метро). Передать его не получается :( | |
|
|
|
|
|
|
|
для: rubiroide
(15.04.2010 в 22:44)
| | Вам не нужно передавать никакой массив.
Запрос к любой странице должен обрабатываться так, как если бы он был самым первым запросом этого пользователя.
Посетитель может и сразу захотеть посмотреть поисковую выдачу начиная со второй страницы (это кстати для современного состояния яндекса весьма актуально на практике) | |
|
|
|
|
|
|
|
для: Trianon
(15.04.2010 в 22:37)
| | Тогда помогите новичку советом как передать массив из страницы на саму себя. Можно ли его в get запихать? | |
|
|
|
|
|
|
|
для: rubiroide
(15.04.2010 в 21:44)
| | У Вас поисковой запрос с банальной постраничной навигацией.
Никакие сессии Вам не нужны вообще - они лишь навредят. | |
|
|
|
|
|
|
|
для: rubiroide
(15.04.2010 в 21:44)
| | $action помогает определиться что делать - записывать или считывать.
Когда мы в первый раз попадаем на страницу поиска $action!=1 и мы должны перезаписать массив в сессию. Для этого я сначала удаляю что было в массиве до этого и записываю туда то что пришло.
Когда мы попадаем второй раз $action уже равен 1 и надо считать то что лежит в сессии. | |
|
|
|
|
|
|
|
для: sim5
(15.04.2010 в 16:35)
| | Напишу логику работы скрипта. Может кто поможет:
Есть страница с формой, где пользователь выбирает станции метро(metro.php).
После нажатия на кнопку он попадает на страницу с моим скриптом(poisk.php).
Делается выборка БД, результат выводится на страницу. Найденных вариантов может быть очень много.
Всё это со скриптом я затеял чтобы выводить не все варианты, а только 10 первых найденных.
Чтобы увидеть следующие 10 пользователь жмет на цифру 2 внизу. При нажатии происходит переход на ту же страницу(poisk.php). Через get передаю признак того что я на стр. 2. Теперь мне нужно снова сделать выборку и показать вторую десятку найденных. Для того чтобы сделать выборку мне нужен массив, который пришел со страницы metro.php.
ИТОГО: все что мне нужно - передать массив между страницами! ПОДСКАЖИТЕ КАК? | |
|
|
|
|
|
|
|
для: rubiroide
(15.04.2010 в 16:31)
| | Еще раз повторить? НЕТ В ЭТИХ СТРОКАХ КОДА ПРИЧИНЫ!
А уничтожить переменную и потом сразу ее объявить вновь, это лишено всякого смысла.
Все ваше можно записать так:
<?
session_start();
//заносим
if(!isset($_SESSION['metro'])) $_SESSION['metro'] = $metro;
//вот так, но не понятна проверка
$metro = $action == 1 ? $_SESSION['metro'] : $metro;
//может просто
$metro = $_SESSION['metro']
|
Ищите причину в логике работы вашего скрипта/скриптов.
PS. Кстати, если $metro исходный массив, то зачем все это, получается просто рокировка. Нужно использовать везде $_SESSION['metro']. | |
|
|
|
|