Использование сессий PHP - PullRequest
0 голосов
/ 29 октября 2010

Итак, сегодня я играю с сессиями в PHP, и после проволочек по поводу того, использовать ли мне сессии или нет, с тех пор как я начал PHP около 6 месяцев назад (это выглядело страшно), я обнаружил, что достаточно просто. Но я использую time () в качестве идентификатора сеанса, я объясню, почему ...

Я нашел страницу со ссылкой на сессию на сайте php.net, и один из примеров кода использует ее для управления сессиями:

session_start();

if( !isset($_SESSION['last_access']) || (time() - $_SESSION['last_access']) > 60)
 $_SESSION['last_access'] = time();

Однако, это истекает очень быстро. Конечно, я МОГУ ЗАМЕНИТЬ 60 на очень большое число, но это для веб-сайта, где клиенты будут тратить в среднем 3-4 часа, просто добавляя продукты в корзину, поэтому у меня не может закончиться сеанс, если они не закроют стр.

Как я могу перенести один и тот же идентификатор сеанса на все страницы нашего сайта независимо от времени (). Я действительно не хочу использовать время для управления идентификаторами сессии.

Я использовал константу SID в URL, например:

<?php echo '<a href="theotherpage.php?sessid='.SID.'">go to another page</a>'; ?> однако использование константы, как рекомендует сайт PHP, не работает.

Может ли кто-нибудь помочь мне сохранить одинаковый идентификатор сеанса независимо от времени на всем сайте?

Ваша помощь высоко ценится, и спасибо! :)

1 Ответ

2 голосов
/ 29 октября 2010

Я думаю, что у вас может быть неправильное понимание сессий.Предполагая, что их куки включены, вам никогда не понадобится использовать идентификатор сессии.Сам идентификатор сессии хранится в файле cookie.Если вы хотите сохранить сеанс дольше, просто используйте ini_set ('session.gc_maxlifetime', 20);и измените 20 на количество минут, за которое вы хотели бы жить.

Помните, что вы должны использовать start_session ();в самом верху каждого файла, чтобы убедиться, что конкретный файл использует сеансы.(Это было бы хорошей причиной иметь 1 основной файл конфигурации в верхней части файлов php, так что вы можете легко добавить его в 1 файл, и он будет добавлен на все страницы)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...