1. 程式人生 > >php頁面跳轉session cookie丟失,不能登入等問題解決方法

php頁面跳轉session cookie丟失,不能登入等問題解決方法

thinkphp開發的一個專案,登入成功後又跳轉到登入頁面,在提交資訊後輸出session都是正常的,沒有問題,但是頁面跳轉後,session出現丟失現象,無法正常完成登陸。

通過查詢資料,發現原來是bom頭的原因。受COOKIE送出機制的限制,在這些檔案開頭已經有BOM的檔案中,COOKIE無法送出(因為在COOKIE送出前PHP已經送出了檔案頭),所以登入和登出功能失效。一切依賴COOKIE、SESSION實現的功能全部無效。

正確的處理方法是去掉某些檔案的bom,一般情況是在入口檔案出現的bom問題,我處理的方法是用Notepad++開啟檔案,格式選擇以UTF-8無bom格式編碼,然後儲存,重新上傳到伺服器即可。但一定要注意,去掉bom上傳到伺服器之前需要把伺服器上原始檔刪掉,上傳覆蓋不能去掉bom。

去掉bom後,session cookie丟失問題解決。