|
|
|
| А как сделать logout:
В сессии 2 переменные логин и пароль, как сделать выход из сессии? | |
|
|
|
|
|
|
|
для: skazi
(25.11.2006 в 15:39)
| | Скрипт, осуществляющий логаут должен содержать в себе функцию session_destroy(). Функция уничтожает с сервера идентификатор сессии. Если хочется, чтоб совсем наверняка, то можно сделать вот так:
<?
session_start();
$_SESSION=array();
session_destroy();
?>
|
| |
|
|
|
|
|
|
|
для: aexb
(25.11.2006 в 16:08)
| | Спасибо, вроде работает :) | |
|
|
|
|
|
|
|
для: skazi
(25.11.2006 в 16:11)
| | Для проверки можно вызывать session_id() в предыдущем скрипте.
<?
session_start();
$sid=session_id();
echo $sid;
$_SESSION=array();
session_destroy();
?>
| Каждый раз после уничтожения сессии $sid в этом скрипте должен меняться. Если он остается постоянным - значит что-то работает не так. | |
|
|
|
|
|
|
|
для: aexb
(25.11.2006 в 16:15)
| | а id сессии назначается автоматом?
т.е. с переходом от однеой страницы к другой(в обоих session_start();) переменная $sid будет меняться сама, да? | |
|
|
|
|
|
|
|
для: skazi
(25.11.2006 в 16:43)
| | Да, идентификатор одной сессии одного пользователя уникален и постоянен. Он назначается сервером и сохраняется на сервере. Существует время жизни сессии, которое начинается от момента первого session_start() пользователя. Время жизни можно менять в настройках сервера, обычно оно ~20 мин. Если по истечении срока пользователь не использует session_start(), то идентификатор автоматически удаляется.
Если мы храним в сессии переменные, необходимые для использования на сайте (например, форум), то каждый раз на новой странице нужно использовать session_start(). Идентификатор назначается только в 1 раз и при переходе не меняется. При session_destroy(), то есть логауте, id удаляется и в следующий раз назначается новый. | |
|
|
|
|
|
|
|
для: aexb
(25.11.2006 в 16:50)
| | Спасибо!
а как хранить переменные сессий PHP в MySQL?
хотя бы алгоритм покажите пожалуйста, а если можно то и скрипт заодно.. | |
|
|
|
|
|
|
|
для: skazi
(25.11.2006 в 17:58)
| | Для чего Вы хотите сохранять сессионные переменные в MySQL? Можете на словах описать процесс? | |
|
|
|
|
|
|
|
для: aexb
(25.11.2006 в 18:49)
| | Мне самому интересно знать, взможно ли такое, многие скрипты пользуются такой функцией, например форум phpbb
А сессионные переменные можно сохранять например для защиты, при заходе на новую страницу сравниваются session id...если конечно такое возможно :) | |
|
|
|