2014-02-02 4 views
0

Когда вы покидаете браузер, он уничтожает сеансы php?Уничтожьте сеанс PHP, оставив браузер

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

Так вот почему мне нужно знать, если сеанс уничтожает, когда пользователь покидает браузер.

+0

Вы обеспокоены тем, что пользователь покидает браузер или покидает страницу? –

ответ

1

Закрытие браузера разрушает файл cookie сеанса, который связывает браузер с сеансом PHP.

Сам сеанс PHP будет уничтожен, если он неактивен для настраиваемого периода времени.

+0

PHP-сессии хранятся на сервере, но как сервер знает, какая сессия принадлежит пользователю? По IP-адресу? – GCallie

+0

По id он помещает в файл cookie сессии, упомянутый в этом ответе. – Quentin

-1

Сессия уничтожается, когда кто-то закрывает свой браузер.

+1

Неправильно – Philipp

0

Логически сессия должна разрушаться при закрытии браузера. Но все же в некоторых браузерах, таких как Firefox, в то время как пользователь сохраняет открытые вкладки, браузер сохраняет сеансы.

Кроме того, закрытие вкладки не совпадает с закрытием браузера, и сеансы по-прежнему будут оставаться (не будут уничтожены).

0

Закрытие браузера разрушает сеанс. Также сам PHP-сеанс будет уничтожен, если он неактивен в течение некоторого периода времени.

вручную, вы можете сделать это

Поместите этот код в верхней части страницы, где вы землю, когда вы вошли в систему:

$_SESSION['last_activity'] = time(); //your last activity was now, having logged in. 
$_SESSION['expire_time'] = 3*60*60; 

Затем вы должны поместить этот код в верхней части каждый файл php

if($_SESSION['last_activity'] < time()-$_SESSION['expire_time']) { 
    header('Location: logout.php'); 
} else{ 
    $_SESSION['last_activity'] = time(); //this was the moment of last activity. 
} 
Смежные вопросы