Я пытаюсь понять сессии и как некоторые из функций, чтобы закончить их работу. Я отправился на разные сайты / и даже здесь на SO и …….. и в сущности, ничего не работает.
У меня есть приложение im, пытающееся работать, и когда пользователь входит в систему, я храню имя пользователя так (не собираюсь вставлять весь код, но вы получаете идею)
if($row == 1){ session_start(); $_SESSION['usrname'] = $login_usrname; $_SESSION['usrpass'] = $login_usrpass; header("Location:index.php"); exit; }
На странице индекса указанного приложения у меня есть чек
session_start(); if(!isset($_SESSION['usrname']) && !isset($_SESSION['usrpass'])){ header("Location:login-acc.php"); exit; }
и он позволяет им. Я проверяю файлы cookie в инструментах веб-разработчика firefoxes, и я вижу, что он создается, поэтому я собираюсь сказать «его работа» до сих пор.
Теперь, когда я хочу выйти из системы, Короче говоря, у меня есть ссылка для выхода из системы, которая выводит их на страницу, которая должна очистить все данные сеанса и перенаправить их на страницу входа. Когда я тестирую приложение и нажимаю ссылку на выход, я перенаправляюсь на страницу входа, но когда я вернусь и нажмите ссылку «индексная страница». это позволяет мне прямо.
В файле выхода, пытаясь усилить проблему в overkill lol, у меня это и ничего не работает.
unset($_SESSION['usrname']); unset($_SESSION['usrpass']); session_unset(); $_SESSION = array(); session_destroy(); setcookie('PHPSESSID', '', time()-3600,'/', '', 0, 0); header("Location:login-acc.php"); exit;
сunset($_SESSION['usrname']); unset($_SESSION['usrpass']); session_unset(); $_SESSION = array(); session_destroy(); setcookie('PHPSESSID', '', time()-3600,'/', '', 0, 0); header("Location:login-acc.php"); exit;
сunset($_SESSION['usrname']); unset($_SESSION['usrpass']); session_unset(); $_SESSION = array(); session_destroy(); setcookie('PHPSESSID', '', time()-3600,'/', '', 0, 0); header("Location:login-acc.php"); exit;
Он перенаправляет меня на страницу входа в систему, но опять же, когда я вручную перехожу на индексную страницу, это позволяет мне прямо. Или после перенаправления на страницу входа в систему я нажимаю кнопку «назад» и также даю мне право.
Если я перейду в приложение инструментов веб-разработчиков FF и удаляю все файлы cookie и т. Д., И перейдите на страницу индекса, то он заблокирует меня.
Как вы можете видеть выше, ive попробовал несколько вещей, и, в конце концов, я бросил их все вместе, что должно что-то сделать ….. Мой вопрос … после того, как я включил ВСЕ эти функции, чтобы попытаться удалить / удалить / удалить в общая сессия … что еще я могу сделать? Немного потерял, как он должен работать.
Может ли кто-то направить меня в правильном направлении?
заранее спасибо.
Вам не хватает session_start()
в верхней части страницы выхода. Он пытается изменить сеанс, который не существует!
Вы должны начать сеанс, чтобы завершить сеанс. Я рекомендую взглянуть на … http://php.about.com/od/advancedphp/ss/php_sessions_3.htm
// you have to open the session to be able to modify or remove it session_start(); // to change a variable, just overwrite it $_SESSION['size']='large'; //you can remove a single variable in the session unset($_SESSION['shape']); // or this would remove all the variables in the session, but not the session itself session_unset(); // this would destroy the session variables session_destroy();
с// you have to open the session to be able to modify or remove it session_start(); // to change a variable, just overwrite it $_SESSION['size']='large'; //you can remove a single variable in the session unset($_SESSION['shape']); // or this would remove all the variables in the session, but not the session itself session_unset(); // this would destroy the session variables session_destroy();