2012-02-24 4 views
0

아주 간단한 코드를 작성했습니다. 하지만 로그 아웃을 클릭하면 세션에 아무 일도 일어나지 않지만 더 이상 표시되지 않습니다. 이유를 이해해 주시기 바랍니다. 덕분에 .이해 세션

<?php 
echo <<<_END 

<form method="post" action=""> 
<input type="hidden" name="in" value="yes" /> 
<input type="submit" value="Log in" /> </form> 

<form method="post" action=""> 
<input type="hidden" name="out" value="yes" /> 
<input type="submit" value="Log out" /> </form> 

_END; 



if(isset($_POST['in'])) 
{ 
session_start(); 
echo "hello, logged in!"; 
} 


if (isset($_POST['out'])) 
{ 
echo "logged out"; 
} 


echo session_id(); 

?> 
+0

더 이상 표시되지 않는 "it"은 무엇입니까? 'echo session_id()'를 의미합니까? – deceze

+0

예, 미안합니다 명확히해야합니다 – Lan

답변

2

세션을 시작하지 않으면 세션 ID를 가질 수 없습니다.

+0

정확히. 표준 PHP 세션 처리를 사용하면'session_start' 함수 호출 이전에 세션 데이터에 액세스 할 수 없습니다. –

+0

하지만 아무것도하지 않는 버튼을 눌러도 여전히 세션이 활성화되어 있지 않습니까? 페이지 새로 고침과 마찬가지로 – Lan

+0

세션 *이 존재합니다 *, 예. 그러나 PHP는 시작될 때까지 PHP를 * 알지 못합니다. –