thinkphp開發的一個項目,登錄成功後又跳轉到登錄頁面,在提交信息後輸出session都是正常的,沒有問題,但是頁面跳轉後,session出現丟失現象,無法正常完成登陸。
通過查找資料,發現原來是bom頭的原因。受COOKIE送出機制的限制,在這些文件開頭已經有BOM的文件中,COOKIE無法送出(因為在COOKIE送出前PHP已經送出了文件頭),所以登入和登出功能失效。一切依賴COOKIE、SESSION實現的功能全部無效。
正確的處理方法是去掉某些文件的bom,一般情況是在入口文件出現的bom問題,我處理的方法是用Notepad++打開文件,格式選擇以UTF-8無bom格式編碼,然後保存,重新上傳到服務器即可。但一定要注意,去掉bom上傳到服務器之前需要把服務器上源文件刪掉,上傳覆蓋不能去掉bom。
去掉bom後,session cookie丟失問題解決。
以上所述是小編給大家介紹的php頁面跳轉session cookie丟失導致不能登錄等問題解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!