2010-05-04 6 views
0

У меня есть сценарий, который должен вывести пользователя из системы. Он отключает все переменные $ _SESSION и $ _COOKIE, связанные с данными входа пользователя. Но почему-то невозможно выйти из системы. Я проверил массив $ _SESSION в конце скрипта выхода и в начале каждой страницы. В конце сценария выхода он говорит «array()», но когда я нажимаю кнопку «домой» или любую ссылку на сайте, все данные сеанса снова возвращаются, и я не знаю, откуда он. Вот как я пытаюсь отключить данные сеанса: unset($_SESSION); unset($_COOKIE["usid"]); unset($_COOKIE["pw"]); unset($_COOKIE["adm"]); - Я не знаю, как поместить его на разные строки, но его не так уж трудно прочитать.
Почему эти данные продолжают возвращаться ?!Переменные сеанса возвращаются полностью после снятия с охраны

ответ

0

В документации по PHP говорится: «НЕ ОТКЛЮЧИТЕ всю $ _SESSION с unset ($ _ SESSION), так как это отключит регистрацию переменных сеанса через суперглобальную сумму $ _SESSION».

Попробуйте это вместо: $ _SESSION = array(); (как рекомендовано в документации PHP).

+0

Ах, правильно! Спасибо. Я думал, что знаю, как работать с сессиями, но я никогда не читал этого. Кроме того, обычно я бы использовал unset ($ _ SESSION [userID]); например, но я предполагаю, что сделал там ошибку и забыл отменить несколько важных важных переменных. В любом случае, спасибо за вашу помощь! – RemiX

Смежные вопросы