介紹如何在 PHP 網頁中建立與刪除 session,將資料儲存在伺服器中。
PHP 的 session 是一種將暫時性的資訊(登入帳號、購物車等資料)儲存在伺服器上的方法,由於資訊是儲存於伺服器端,所以會比 cookie 的方式安全許多。
若要在 PHP 中建立 session,只要在任何訊息輸出之前,呼叫 session_start()
,然後再將想要儲存於伺服器端的資訊儲存在 _SESSION
之中即可:
<?php # 啟用 Session(要放在任何訊息輸出之前) session_start(); # 將資料儲存於 Session 中 $_SESSION['username'] = 'officeguide'; ?>
若想要取得之前存入 session 中的變數,也是一樣先呼叫 session_start()
,然後即可取用之前儲存的資料:
<?php # 啟用 Session(要放在任何訊息輸出之前) session_start(); # 取用 Session 中的資料 $username = $_SESSION['username']; ?> <html> <body> <?=$username?> 您好! </body> </html>
如果想要刪除 session 中指定的資料,可以使用 unset()
函數:
<?php # 刪除 Session 中的 username 變數 unset($_SESSION['username']); ?>
而如果想要將 session 中所有的資料都一次清除,可以呼叫 session_destroy()
:
<?php # 清除 Session 中所有資料 session_destroy(); ?>
在實作上 PHP 的 session 資料會儲存於伺服器的暫存檔中,而暫存檔的位置可在 php.ini
的 session.save_path
設定。
正常來說在使用 session 之前,都要先呼叫 session_start()
,如果想讓 PHP 自動啟用 session,可將 php.ini
中的 session.auto_start
設定為 1
,這樣就可以不需要寫 session_start()
這一行。
參考資料:tutorialspoint