房仲簽約指定合作,商辦居家地板拋光打蠟,專業清潔服務空調豐富壁癌工程經驗,責任施工、品質保固,一通電話免費為您勘驗估價

首頁  •  j2h 論壇 • 程式設計討論     • 

[php] Session 使用介紹

房東:小路
發表時間:2012-06-25


Session 一直到 PHP4 之後才有的,PHP3(含)以前幾乎都是使用 Cookie 來記錄一些資訊,然而 Session 的出現,對於 PHP 的安全性有很大的提升,同時也讓網站功能更全面。你要完全拋棄 cookie 嗎?其實也不盡然,如果能夠用 session 搭配 cookie 有的時候可以做出很多更方便的東西。



PHP Session 與 Cookie 的比較



  • Session:儲存於伺服器端,不用擔心用戶禁用session的問題,但計錄檔案的負荷由伺服器承擔。

  • Cookie:儲存於用戶端,可能有用戶端禁用cookie,但伺服器不需承擔計錄檔案的負荷。


各有優缺點,所以並沒有完全捨棄 cookie 的問題存在,有些不重要的資料其實用 cookie 儲存就可以了,降低一些 server 的負荷;但是重要的資訊,像是用戶的登入帳號等,請用 session 會比較安全。



Session 使用的地方



通常如果你的網站具有會員登入的功能或是購物車的功能,基本上就可以使用到 session 來幫助你記錄這些資訊。另外如果你的會員有權限上的差異(管理員權限、版主權限、一般會員權限 ...... 等),同樣也可以透過 session 來記錄,這個部份就比 cookie 來得安全。



第一步、啟用 Session : session_start()



在你使用 session 來記錄用戶的資訊前,要先用 session_start() 這個函式,告訴系統準備開始使用,請記住 session_start() 一定要放在網頁的最上方還沒有輸出任何東西之前,也就是類似下面這樣,如果前面出現了任何的輸出可是會出錯的唷!這也是一般人常碰到的問題。

session_start

開啟程式碼頁面



第二步、給變數值並記錄在伺服器上




我們設定了一個 number 的變數,並給他一個值 =10,接著這個 number=10 就存在伺服器上囉!基本上這樣最簡單的 session 就設定好了。





第三步、取得 session 的值,使用 $_SESSION["變數名稱"];



在取得變數值之前一樣要先用 session_star() 函數唷!接著就可以直接 echo 出來了。





第四步、刪除 session




其實預設伺服器會自動刪除超過有效時間的 session,但有的情況是必須讓用戶操作的時候可以自己刪除,像是會員登出,主動清除後馬上就變成登出狀態,這個時候可以使用以下兩種方式清除:



  • unset($_SESSION['變數名稱']);

  • session_destroy();


第一種方法是直接給變數名稱,單獨刪除該筆記錄,第二種方法則會將全部的 session 清除。



常用的 Session 函式庫



  • session_start:啟用一個新的或開啟正在使用中的session。

  • session_destroy:清除正在使用中的 session。

  • session_name:取得正在使用中的名稱或將名稱更新為新的名稱。

  • session_module_name:取得或更新正在使用中的模組。

  • session_save_path:存取目前使用中的 session 路徑。

  • session_id:存取目前使用中的 id。

  • session_register:註冊一組新的 session。

  • session_unregister:刪除一個正在使用中的 session。

  • session_is_registered:檢查目前使用中是否已經有此變數。

  • session_decode:資料解碼,解碼成功回傳 true。

  • session_encode:資料編碼,編碼成功回傳 true。





  • 贊助網站       

    廣利不動產-板橋在地生根最實在--新板特區指名度最高、值得您信賴的好房仲
    完整房訊,房屋、店面熱門精選物件,廣利不動產 優質仲介,房屋租賃、買賣資訊透明,交易真安心!
    廣利不動產-新板特區指名度最高、值得您信賴的好房仲
    您的托付,廣利用心為您服務



  •  共 0 人回應

    姓名:
    佈告內容:
    其他選項: