첫 번째 페이지로드시 설정된 'loginStatus'세션 변수가 있습니다. 이 'loginStatus'가 맨 처음 설정 될 때 브라우저에 '처음으로'설정을 표시하도록 if/else가 있습니다. '처음으로'설정이 절대 나타나지 않습니다! 캐시를 지우고 Netbeans 개발 환경 외부의 브라우저 창에서 index.php 페이지를 탐색하려고했지만 중요하지 않습니다. 마치 세션이 localhost 웹 서버에 영구히 살아있는 것처럼 보입니다.세션 변수가 이미 설정되었습니다.
다음은 페이지가 처음로드 될 때 초기화되지 않은 'loginStatus'세션 변수를 감지하고 세션 변수를 한 번만 생성/초기화하는 코드입니다. 내가이 브라우저 창에서 볼 수 없을
if (isset($_SESSION['loginStatus']))
{
// we get here ONLY if the 'loginStatus' session variable has already been
// created for this user's session.
$_SESSION['loginStatus'] = "loginStatus already set!";
echo '<br />Just set the loginStatus to: ' . $_SESSION['loginStatus'] . '<br /><br />';
}
else
{
// we only get here the first time this is sent by the server
// to the user's browser -- so we need to create the 'loginStatus' session
// variable because the user just came to our site
// and has not yet logged in.
$_SESSION['loginStatus'] = "First-time initialization of loginStatus";
echo '<br />Just set the loginStatus for the first time!<br /><br />';
}
는 "그냥 처음의 LoginStatus을 설정!"
브라우저 창에서 볼 수있는 것 : "loginStatus를 다음과 같이 설정하십시오 : loginStatus가 이미 설정되었습니다!" 즉
-는 isset() 잘못 사실 난생 처음 내 페이지가로드를 반환!
브라우저에서 처음 페이지를로드 할 때 마술처럼 이미 존재하는 세션 변수에 대한 정당성은 없습니다.
오늘 밤에 코드를 작성하는 동안 위의 페이지를 여러 번로드했지만 최종 페이지를 떠나면 세션이 파괴된다는 것을 이해했습니다. 그렇다면 왜 $ _SESSION [ 'loginStatus'] 변수가 환영을받는 친척처럼 매달려 있습니까?
'위해서 var_dump ($ _ SESSION)을'다시로드 포함 된 내용을보고 거기에서 작업하십시오. – Kenaniah
@Kenaniah - 내가 그랬어 : array 'loginStatus'=> 문자열 'loginStatus가 이미 설정되었습니다!' (길이 = 24) – wantTheBest
'session_unset(); session_destroy();'를 클릭하여 서버 측에서 브라우저 세션을 지 웁니다. – Kenaniah