2009-10-28 95 views
0

HI,PHP會話幫助

當我嘗試使用下面的代碼在IE中它的一些原因只是循環和環路和環路,不會停止註銷。

<?php $_SESSION = array(); session_destroy(); ?> 

<meta http-equiv="refresh" content="0;index.php"> 

仍然收到一些錯誤與此。

看來,在IE中它不斷刷新每一秒,如果我改變0至20的每20秒,但事情是它不會到index.php它說當前的屏幕是logout.php

+2

好吧,假設這是index.php文件,這就是你告訴它該怎麼做。什麼文件這是什麼? – 2009-10-28 13:34:08

+0

這個文件叫做logout.php – 2009-10-28 13:35:35

+0

好的。你能看到它在哪裏循環到嗎?可能是index.php反過來調用logout.php? – 2009-10-28 13:40:14

回答

5

注意到你似乎沒有在任何地方的頁面中調用session_start()。如果不先開始會話,則無法銷燬會話。

+0

+1:與功能名稱相反,這很可能是問題。 (它應該被命名爲'session_init()') – Powerlord 2009-10-28 13:45:46

+0

'_start'和'_init'之間沒有太大區別......我也沒有發現'session_start'是一個不直觀的名字。 – 2009-10-28 15:22:52

0

將您的內容=「0」更改爲20.請嘗試查看源代碼以確保您的網頁未顯示此元標記,如果不是,請修復此錯誤,如果不是,則爲其他內容。

4

而不是使用一個元刷新的,爲什麼不引導他們回到index.php文件與header

<?php 
    $_SESSION = array(); 
    session_destroy(); 
    header('Location: index.php'); 
?> 
+0

我總是在'header()'調用後添加'exit',即使它是代碼的結尾,以防某些人稍後擴展它並發現問題。 – 2009-10-28 15:21:26

+0

同意,謝謝指出。一些機器人(即:Googlebot)不會跟隨標題。我聽說Googlebot會刪除記錄,因爲人們將它們排除在外。 – Psilokan 2009-10-28 16:01:17