[英]PHP Session not working in PHP5
我有2頁:login.php和index.php。 這兩個頁面都以
session_start();
當我設置
$_SESSION['user'] = "name";
在login.php中,而不是打開index.php,我的會話對象為空。 怎么會?
編輯:
我發現了問題:IE 7.我不得不訪問我的域名。 但是,我認為會話存儲在服務器上,而不是客戶端? 為什么我有IE瀏覽器訪問我的域名? ( http://www.pcwindowstips.com/2007/09/04/how-to-enable-cookies-in-internet-explorer-7/ )
我以為會話存儲在服務器上而不是客戶端? 為什么我有IE授權訪問我的域名? ( http://www.pcwindowstips.com/2007/09/04/how-to-enable-cookies-in-internet-explorer-7/ )
會話的工作方式是為站點存儲會話cookie,其中包含會話ID。 服務器知道您的身份的唯一方法是在每次加載頁面時讀取會話ID cookie。 所有$ _SESSION數據都存儲在服務器上,供每個用戶使用,但必須為服務器設置cookie才能知道要檢索的$ _SESSION數據。
這也是為什么如果你獲得會話ID cookie,你可以基本上“成為”另一個用戶。
這件事發生在我身上,可能會為某些人帶來光明。 我的會話工作不正常。 IE 8和Firefox正在丟失會話信息。
我收錄了一個文件。 那個包含文件在尾隨&ques?>之后有一個額外的回車
回車開始了會議。 我把include_start放在include之后。 繁榮。
也許php.ini中的這個變量映射到現有路徑
session.save_path =“c:/ wrong / path”
Internet Explorers比其他大多數瀏覽器都有更嚴格的cookie策略。 檢查會話cookie參數 (另請參見session_get_cookie_params()
)並盡可能使用顯式值替換默認值。 此外,您可以發送[假P3P策略]( http://msdn.microsoft.com/en-us/library/ms537343 ( VS.85).aspx)以滿足Internet Explorers。
這里沒有太多信息,我會嘗試使用我的心靈力量。
用戶登錄后,是否設置了會話var,然后使用http標頭將用戶重定向到index.php? 如果是這樣,我認為會話cookie不會發送給用戶。 如果是這種情況,解決方案是:
您還可以嘗試在兩個頁面上轉儲會話ID,以查看您是否以某種方式啟動了新會話:
echo 'Session ID is: ' . SID . "<br/>\n"
在調用session_start()之前,您需要驗證是否已啟用cookie並且沒有任何內容(這包括存檔開頭或結尾的空行)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.