我已經確保頁面全部檢查設置會話變量以確定登錄用戶,非常標準的東西。在遇到問題時,我將表單信息提交給後端頁面,後端頁面將處理該數據,然後重定向至成功/失敗確認頁面。在那段時間內,會話會丟失,至少會與變量進行會話。會話仍在,因爲我可以手動導航到一個安全的網頁後,它的工作。只有在後端重定向失敗後,纔會自動從後端頁面重定向到受保護頁面或其中一個不安全頁面上的鏈接。它可能是也可能不是相關的,但是在訪問多個安全頁面或執行其中一個使用有問題的後端頁面的操作之後,我的計算機上有兩個會話cookie來自域 - 一個註冊到domain.com,另一個註冊到www.domain.com。在我的智慧結束時,謝謝。PHP會話不在窗體和重定向後傳輸
1
A
回答
4
我在這裏看到兩個問題,但它們是相關的。
首先是您似乎在安全(https://
)和不安全(http://
)頁面之間彈跳。不應該在這些cookie之間共享Cookie,所以這就是爲什麼會話看起來中斷(PHP使用會話ID設置cookie)。
另一個密切相關,並且在domain.com
和www.domain.com
之間共享。 Cookie可以共享一個方向,但不能共享另一個方向。不要擔心:只需選擇一個主機名並堅持使用即可。然後檢查您是否將會話的Cookie域設置爲正確的域。
0
在輸出任何內容之前,您最好在頁面的開始處輸入內容,您必須從PHP頁面調用session_start()
。
如果該會話已經創建,它將恢復該頁面。
相關問題
- 1. 註銷和重定向會話在php
- 2. 重定向後PHP會話丟失
- 3. PHP會話沒有通過幀重定向傳輸
- 4. PHP會話被重定向
- 5. PHP會話ID重定向
- 6. php和會話重定向錯誤
- 7. 使用PHP重定向後PHP會話不工作
- 8. 會話重定向後不工作
- 9. PHP不會重定向後MySQL查詢
- 10. 在會話結束後重定向在php
- 11. 窗體重定向
- 12. PHP在重定向後丟失會話數據
- 13. 會話丟失頁面重定向後在php
- 14. PHP - 在paypal重定向後失去會話
- 15. 會話/ Cookie不能得到設定(會後,重定向)
- 16. ASP.NET會話重定向無回傳
- 17. OAuth重定向後CakePHP會話丟失
- 18. 與後重定向會話過期
- 19. 會話過期後CakePHP重定向
- 20. passport.js會話重定向後丟失
- 21. 會話過期後自動重定向
- 22. 重定向後丟失會話變量
- 23. 重定向後丟失會話變量
- 24. 重定向後的會話ASP.net
- 25. 重定向後會話變量消失
- 26. Php會話重定向頁面
- 27. PHP跨域重定向會話丟失
- 28. PHP會話過期重定向
- 29. PHP +使用會話重定向
- 30. PHP會話修改重定向
我要指出,我mispoke我說擔保,我不是故意暗示HTTPS安全,只是頁面正在覈實負荷用戶的會話狀態。兩屆會議的問題是,爲什麼首先有兩個是不明確的。這些調用都是相同的session_start()調用,但仍然存在兩個不同的cookie。 – drewster 2010-09-07 04:05:19
也許你的一箇中間頁面實際上並沒有執行'session_start()'。或者在輸出完成後試圖做到這一點。 – staticsan 2010-09-07 04:17:02
以一個五頁週期爲例,所有頁面開始一個會話。這將是登錄頁面 - >主要安全頁面 - >背面操作頁面 - >成功頁面 - >返回主頁面,創建兩個不同的會話。沒有www的domain.com似乎在步驟3左右彈出,在php頁面上,用戶永遠不會看到只處理數據。我通過對網站其他部分使用的用戶變量進行相同的測試來確保第4步的測試。 – drewster 2010-09-07 05:00:45