php - проверить, существует ли файл сессии на сервере - PullRequest
0 голосов
/ 13 апреля 2011

Я только что столкнулся с проблемой. Я сохраняю идентификаторы сессий в куки, чтобы получить информацию о корзине, когда пользователь покидает сайт, а затем возвращается снова. Моя проблема в том, что в качестве теста я очистил все сессии, но сохранил cookie, но теперь страница просто продолжает загружаться.

У меня вопрос, есть ли способ сначала использовать php, чтобы я смог получить каталог tmp, чтобы потом проверить, является ли сохраненный идентификатор сессии действительным.

С уважением,

Phil

EDIT

я сейчас использую

if( isset( $_COOKIE[$cookieKey] ) ) {
    session_id( $_COOKIE[$cookieKey] );
}
// create a new or carry on the existing session
session_start();

что вызывает у меня проблему

1 Ответ

1 голос
/ 13 апреля 2011

Это ненадежно и не нужно.Вместо этого добавьте в свой код проверки, чтобы выяснить, пустой $_SESSION суперглобальный или (что еще лучше) соответствующие ключи:

<?php
if( !isset($_SESSION['foo']) ){
    // User is not fooed yet
    $_SESSION['foo'] = 33;
}
find_records_by_foo($_SESSION['foo']);

Обновление: Независимо от того, что вы хотитечто касается файлов cookie и идентификаторов сеансов, мой ответ остается в силе.Когда вы закончите проверку файлов cookie, проведите сеансовые тесты с isset().

...