2013-06-02 2 views
0

Мне было интересно, почему моя сессия всегда проигрывает неожиданно. Мой сайт почти зависит от сеанса, если сеанс проигрывается, он перенаправляется на страницу входа.Сессия неожиданно проиграна

Вот мой код *

<?php 
session_start(); 
if(!isset($_SESSION['login'])){ 
session_destroy(); 
header("Location:login.php"); 
exit(); 
} 
include_once("action.php"); 
?> 

Как это исправить ?? Заранее благодарю

+1

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

+1

Какие действия вы выполняете для воспроизведения этой ошибки? Вы уверены, что это на этой странице? – Matchu

+1

Вы проигрываете сеанс между страницами? Или это никогда не устанавливается в первую очередь? Я замечаю, что вы никогда не объявляете переменную сеанса «login», поэтому независимо от того, когда этот скрипт запускается, он начнет сеанс и уничтожит его, потому что эта переменная никогда не будет установлена. –

ответ

1

Я предполагаю, что вы потеряете сеанс при навигации между страницами.

Необходимо включить session_start(); на каждой странице, к которой пользователь переходит, чтобы продолжить свою сессию.

+0

не очень. Я думаю, мы должны использовать 'session_start();' на странице, что мы хотим работать, использовать и изменять сеансы. и, например, когда пользователь переходит на страницу, в которой нет сеанса (а также 'session_start();') и обратно на страницу с сеансами в ней (а также сеансы session_start(); '), все еще будут работать , – ncm

+1

@immiso: Технически это правда, но только на короткие периоды времени; сеансы заканчиваются, поэтому, если пользователь проводит большое количество времени на странице без session_start(); затем переводит обратно на страницу без одного сеанса страницы, который не будет восстановлен. Также никогда не помешает просто поставить session_start(); на каждой странице, потому что этот вызов сначала ищет существующий сеанс и продолжает его, и только создает новый сеанс, когда существующий не найден. –

+0

OMG. +1 вам и спасибо. Какая критическая точка, на мой взгляд, такая. – ncm

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