[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: сессионные переменные теряются
maximka787
мужики, подскажите почему иногда!! на почту из формы приходят данные пустые.

у меня собираются данные с помощью $_SESSION на нескольких шагах.
может такое быть, что у кого-то не поддерживаются эти переменные?



Спустя 33 секунды (7.09.2011 - 15:25) netruxa написал(а):
куки можт выключены?

Спустя 26 минут, 59 секунд (7.09.2011 - 15:52) maximka787 написал(а):
netruxa
а при чем тат куки? smile.gif

Спустя 1 минута, 48 секунд (7.09.2011 - 15:54) Guest написал(а):
А в куках наверное ссылка на сессию лежит wink.gif

Спустя 2 минуты, 40 секунд (7.09.2011 - 15:57) maximka787 написал(а):
точно, этого я не знал) подскажите а как тогда собирать информацию с разных страниц? добавлять по кускам в базу данных? или есть более мудрое решение?

Спустя 7 минут, 14 секунд (7.09.2011 - 16:04) divine266 написал(а):
получил через POST инфу, на след страницу, далее передавай их в скрытых формах до конечного результата

Спустя 1 минута, 6 секунд (7.09.2011 - 16:05) maximka787 написал(а):
divine266
даже если их около 100?

Спустя 5 минут, 10 секунд (7.09.2011 - 16:10) divine266 написал(а):
эм, а если сделать к примеру индексную страницу, и к ней те самый страницы с которых идет сбор, подключать как "модулями", и тогда все данные будет в переменных

Спустя 1 минута, 28 секунд (7.09.2011 - 16:12) Guest написал(а):
Передавай идентификатор сессии в POST/GET.
На слудующей странице проверяй, если идентификатор не пришел из куков, то принудительно устанавливай сессию с идентификатором из POST/GET.

Спустя 9 минут, 17 секунд (7.09.2011 - 16:21) maximka787 написал(а):
Guest
А как я его передам, если у юзера вообще отключены куки? блин за 3 года с лишним первый раз сталкиваюсь с тем. что у кого-то вообще могут не работать сессии.

Спустя 19 минут, 58 секунд (7.09.2011 - 16:41) Гость_Дмитрий написал(а):
непосредственно на странице, при выводе hidden параметров.

а если еще права перепутаешь на папку с файлами, где на сервере сессии хранятся
или место на сервере под них кончится будет еще веселей

Куки спокойно отключаются в любом браузере, даже в ИЕ

Спустя 21 час, 39 минут, 10 секунд (8.09.2011 - 14:20) maximka787 написал(а):
Я проверил, отключил куки полностью. Теперь, если раньше данные терялись частично, то сейчас они вообще полностью теряются. значит ошибка не в сессионных переменных, куках, а в самой программе?

я верно протестировал программу без сессий? (в опер отключил "принимать куки")

кстати теряются в 2х случаях из 10-ти. с чем это еще может быть связано?

Спустя 1 час, 42 минуты, 58 секунд (8.09.2011 - 16:03) sadon написал(а):
session_start() везде перед вызовом сессионных переменных должно присутствовать.

*Почитайте как устроены сессии и как они связаны с куками.

Спустя 2 минуты, 29 секунд (8.09.2011 - 16:06) inpost написал(а):
maximka787
А ты точно на всех страницах прописываешь session_start(); ? Попробуй в другом браузере, я уверен, что тут проблема не в кукисах. Покажи, как ты создаёшь сессию.

Спустя 17 часов, 33 минуты, 38 секунд (9.09.2011 - 09:39) maximka787 написал(а):
У меня session_start() везде есть кроме первого шага. Если только клиент по глупости нажимает назад в браузере на втором шаге, и то, в этом случае сессионные переменные не должны теряться. а заменяться при переходе опять на второй.

Спустя 11 минут, 32 секунды (9.09.2011 - 09:51) inpost написал(а):
maximka787
echo '<pre>'.print_r($_SESSION,true).'</pre>';


И по каждой странице пройдись. Надеюсь имена у тебя не цифровые, для сессионной переменной :)

Спустя 14 минут, 47 секунд (9.09.2011 - 10:06) Игорь_Vasinsky написал(а):
как раз для тебя последняя запись в моём журнале wink.gif

Спустя 2 минуты, 2 секунды (9.09.2011 - 10:08) maximka787 написал(а):
inpost
я на каждой странице внизу сделаю print_r($_SESSION);
все накапливается отлично, просто странно, почему у 2х из 10 людей форма не до конца полная приходит. Ну хотя бы одно радует, теряются данные из первого шага. значит где-то там проблема, но с другой стороны вот такой механизм не может давать сбой.
Второй шаг.
if(isset($_POST['tel'])) { $_SESSION['tel'] = $_POST['tel']; }
if(isset($_POST['fax'])) { $_SESSION['fax'] = $_POST['fax']; }
if(isset($_POST['email'])) { $_SESSION['email'] = $_POST['email']; }
if(isset($_POST['firma'])) { $_SESSION['firma'] = $_POST['firma']; }

Спустя 54 секунды (9.09.2011 - 10:09) maximka787 написал(а):
Игорь_Vasinsky
в каком журнале?)

Спустя 13 минут, 59 секунд (9.09.2011 - 10:23) Игорь_Vasinsky написал(а):
Под моим аватаром под ссылкой "Профиль" - ссылка "Журнал"

Спустя 6 минут, 47 секунд (9.09.2011 - 10:29) inpost написал(а):
maximka787
На каждом из шагов делай проверку на существование сессии, если отсутствует запись из второго шага - редирект на второй шаг, если из первого - редирект из первого шага.
Можешь даже в конце дополнительную форму добавить, типо введите данные, которые отсутствуют в сессии по какой-то причине, например из любого из шагов. Добавляешь только в том случае, если isset покажет, что абсолютно все сессионные переменные присутствуют.
На всех страницах делай session_start();

Игорь_Vasinsky
Мне твоя идея с цветами очень понравилась. Переделаю свою функцию, добавлю цвета, тоже буду юзать.

   ob_start();
echo "<pre>";
print_r($arr);
echo "</pre>";
$buffer = ob_get_contents();
ob_end_clean();

- это твой код, и это ОЧЕНЬ ПЛОХО! :) Можно вообще в 1 строчку:
    $buffer = '<pre>'.print_r($arr,true).'</pre>';


_____________
..Работает - не трогай!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.