/

如何使用基於 PHP 的 Cookie 會話

如何使用基於 PHP 的 Cookie 會話

一個非常有趣的 Cookie 用例是基於 Cookie 的會話。

PHP 提供了一種非常簡單的方法來創建基於 Cookie 的會話,即使用 session_start()

嘗試在 PHP 文件中添加以下代碼:

1
2
3
<?php
session_start();
?>

然後在瀏覽器中加載該文件。

您將看到一個名為 PHPSESSID 的新 Cookie,並且已分配了一個值。

這就是會話 ID。它將在每次新請求中被發送,並且 PHP 將使用它來識別會話。

與我們使用 Cookie 的方式類似,現在我們可以使用 $_SESSION 來存儲用戶發送的信息,但這次不是在客戶端存儲。

只有會話 ID 存儲在客戶端。

數據由 PHP 在服務器端存儲。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
session_start();

if (isset($_POST['name'])) {
$_SESSION['name'] = $_POST['name'];
}
if (isset($_POST['name'])) {
echo '<p>Hello ' . $_POST['name'];
} else {
if (isset($_SESSION['name'])) {
echo '<p>Hello ' . $_SESSION['name'];
}
}
?>

<form method="POST">
<input type="text" name="name" />
<input type="submit" />
</form>

這只適用於簡單的用例,對於大量數據,您將需要使用數據庫。

要清除會話數據,可以調用 session_unset()

要清除會話 Cookie,使用以下代碼:

1
setcookie(session_name(), '');

tags: [“PHP”, “Cookie”, “會話”, “数据庫”]