2011-07-05 251 views
0

我正在使用會話變量來存儲不同的信息。我使用JavaScript重定向的會話變量似乎失去了它們的價值。發生這種情況非常inconsistanly特別是具有在Chrome中(其他瀏覽器都很好!)會話變量丟失值

window.location = "../submitOrder.php?custid="+custid; 

(在真實代碼,我把整個URL)

然後從submitOrder我的會話變量都是空白的開始..

這可能是什麼原因造成的?它是否與重定向有關?

我不介意添加必要的更多細節,但問題是一個簡單但令人困惑的問題。

謝謝!

+0

你如何傳播你的會話ID?餅乾?如果是,請檢查新的URL是否與Cookie的路徑和域限制匹配。 – tdammers

+0

謝謝。我有點兒是初學者,你能解釋一下嗎?該網址是同一網站中的另一個網頁。我該如何檢查。我在我的頁面 – Nina

+0

上使用了session_start(),這真的只發生在Chrome中,這是我第一次進入該網站。鉻的行爲與Cookie有何不同? – Nina

回答

0

儘管我並不特別瞭解Chromes關於Javascript重定向和cookie處理的行爲,但您的問題表明,當您通過Chrome中的Javascript重定向用戶時,會話Cookie無法正確傳遞到serven。 這是否真的是你可以做的會話ID您的重定向的一部分的情況下,即:

window.location = "../submitOrder.php?custid="+custid+"&PHPSESSID="+<?php echo session_id(); ?>; 

但是我認爲這是不可能的,這樣的問題在Chrome存在,你可能在你的代碼中的錯誤(也許你忘了使用start_session()函數?)

+0

剛剛嘗試了你的建議,它給了我一個錯誤 – Nina

+0

什麼樣的錯誤?PHP?Javascript?Chrome?有什麼錯誤信息? – tdammers

+0

感謝您的幫助:)轉彎這是一個糟糕的重定向,搞亂了會議。我改變了重定向爲相對的,然後使用www。或沒有。 – Nina