本文轉自it擺渡網歡迎轉載,請标明出處
更多php文章請閱讀
<a href="http://www.itbaiduwang.com/c-3/8.html">php問題解決</a>
cookie固然好,不過有些用戶端浏覽器會禁用cookie,這就會導緻你所依賴cookies的程式會失效或出錯,那麼若真出現使用者關閉cookies的情況,php應該如何再次使用session?方法還是有的。
1、設定php.ini的session.use_trans_sid = 1或者打開enable-trans-sid選項,讓php自動跨頁傳遞session id。
2、手動通過url傳值、隐藏表單傳遞session id。
3、用檔案、資料庫等形式儲存session_id,在跨頁過程中手動調用。
途徑1舉例說明:
s1.php
s2.php
運作以上代碼,在用戶端cookie正常的情況下,應該可以在得到結果“源碼愛好者”。
若此時關閉了用戶端的cookie,估計就得不到結果了,這時可設定php.ini中的session.use_trans_sid = 1或者編譯時打開--enable-trans-sid選項”,此時又可重新得到結果“源碼愛好者”
途徑2舉例說明:
隐藏表單的方法基本原理同上。
途徑3舉例說明:login.html
mylogin1.php
mylogin2.php
請關閉cookie再測試,使用者名:youngong 密碼:123 這是通過檔案儲存session id的,檔案是:e:tmpphpsid.txt。至于用資料庫的方法,就不舉例子了,與檔案的操作方法類似。以上方法有一個共同點,就是在前一頁取得session id,想辦法傳遞到下一頁,在下一頁的session_start();之前加代碼session_id(傳過來的session id);希望能為您提供一些參考。