PHP

PHP 建立、刪除 Session 使用教學與範例

介紹如何在 PHP 網頁中建立與刪除 session,將資料儲存在伺服器中。

PHP 的 session 是一種將暫時性的資訊(登入帳號、購物車等資料)儲存在伺服器上的方法,由於資訊是儲存於伺服器端,所以會比 cookie 的方式安全許多。

建立 Session

若要在 PHP 中建立 session,只要在任何訊息輸出之前,呼叫 session_start(),然後再將想要儲存於伺服器端的資訊儲存在 _SESSION 之中即可:

<?php
# 啟用 Session(要放在任何訊息輸出之前)
session_start();

# 將資料儲存於 Session 中
$_SESSION['username'] = 'officeguide';
?>

取用 Session 中的變數

若想要取得之前存入 session 中的變數,也是一樣先呼叫 session_start(),然後即可取用之前儲存的資料:

<?php
# 啟用 Session(要放在任何訊息輸出之前)
session_start();

# 取用 Session 中的資料
$username = $_SESSION['username'];
?>

<html>
   <body>
      <?=$username?> 您好!
   </body>
</html>

刪除 Session

如果想要刪除 session 中指定的資料,可以使用 unset() 函數:

<?php
# 刪除 Session 中的 username 變數
unset($_SESSION['username']);
?>

而如果想要將 session 中所有的資料都一次清除,可以呼叫 session_destroy()

<?php
# 清除 Session 中所有資料
session_destroy();
?>

Session 系統設定

在實作上 PHP 的 session 資料會儲存於伺服器的暫存檔中,而暫存檔的位置可在 php.inisession.save_path 設定。

正常來說在使用 session 之前,都要先呼叫 session_start(),如果想讓 PHP 自動啟用 session,可將 php.ini 中的 session.auto_start 設定為 1,這樣就可以不需要寫 session_start() 這一行。

參考資料:tutorialspoint

Share
Published by
Office Guide

Recent Posts

Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤

本篇介紹如何在 Python ...

9 個月 ago

Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例

本篇介紹如何在 Ubuntu ...

9 個月 ago

Linux 網路設定 ip 指令用法教學與範例

本篇介紹如何在 Linux 系...

9 個月 ago

Windows 使用 TPM 虛擬智慧卡保護 SSH 金鑰教學與範例

本篇介紹如何在 Windows...

10 個月 ago

Linux 以 Shamir’s Secret Sharing 分割保存金鑰教學與範例

介紹如何在 Linux 中使用...

11 個月 ago

Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例

介紹如何在 Linux 系統中...

11 個月 ago