2012-02-24 44 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

什麼是「它」不再顯示?你的意思是'echo session_id()'? – deceze 2012-02-24 01:07:56

+0

是的,對不起應該更清楚 – Lan 2012-02-24 01:09:56

回答

2

如果您未啓動會話,則不能擁有會話ID。

+0

沒錯。使用標準的PHP會話處理,您不能在'session_start'函數調用之前訪問任何會話數據。 – 2012-02-24 01:09:25

+0

但即使你按下一個什麼都不做的按鈕,會話仍然處於活動狀態?就像刷新頁面 – Lan 2012-02-24 01:11:12

+0

會話*存在*,是的。但PHP直到啓動時纔會知道*。 – 2012-02-24 01:14:01