我登錄到我的網站(在本地主機上運行),並存儲用戶ID在會話變量爲什麼我的系統會自動註銷?
$_SESSION['user_id'] = $user_id;
主要頁面加載,所有的罰款。我在主頁上顯示用戶標識,所以我確信它的價值。當我加載另一頁時,使用
php = 'some_php_file.php';
window.open(php,php);
第二頁打開確定。但是,如果我嘗試再次打開同一頁面,單擊主頁面上的相同按鈕,系統將註銷。如果我在window.open()中省略第二個php
(使用''代替),我可能會有同一窗口的多個副本(我不想要的),但沒有自動註銷的問題。
任何想法可能發生什麼?
編輯:如果我關閉第二個窗口並重復該過程,我沒有註銷問題。我可以根據需要多次關閉並重新打開第二個窗口。只有當我嘗試打開第二個窗口時,問題纔會發生,但它已經打開。我也可以打開不同的'第二個窗口'(不同的php文件)。如果我嘗試在同一個窗口打開TWICE,我只會被註銷。
編輯2:似乎我找到了它。之前我叫window.open(),我測試的PHP文件是否存在,使用此功能:
function fileExists(url){
var http = new XMLHttpRequest();
http.open('HEAD',url,true);
http.send();
return http.status != 404;
}
如果我改變http.open()行
http.open('HEAD',url,false);
有用!但manual告訴我們在第三個參數中使用'true'...我該怎麼辦?
你有一個'在session_start()'在每個PHP入口點的開始? –
是的,我有。如果我沒有,自動註銷的問題不會因爲我省略窗口標題(php變量)而消失,是嗎?其實,它第一次不會打開,是嗎? – Rodrigo