📅  最后修改于: 2023-12-03 14:45:26.934000             🧑  作者: Mango
PHP 会话是一种跨页面或跨请求保留用户数据的技术。在 PHP 中,可以使用会话(Session)来存储用户数据,比如用户登录状态、购物车信息等等。
在 PHP 中,需要使用 session_start()
函数来开始一个会话。这个函数会启动 PHP 的会话管理器,并且会向客户端发送一个“session id”(会话 ID),这个 ID 会被保存在客户端的 cookie 中。在之后的请求中,PHP 会通过这个 session id 来找到对应的会话数据。
<?php
session_start();
// 在会话中存储数据
$_SESSION['username'] = 'John';
// 从会话中读取数据
$username = $_SESSION['username'];
?>
可以通过 session_set_cookie_params()
函数来设置 cookie 的一些选项,比如过期时间、路径、域等等。
<?php
// 设置 cookie 的过期时间为 1 天
session_set_cookie_params(86400); // 86400 秒等于 1 天
session_start();
?>
可以使用 session_destroy()
函数来销毁当前会话中的所有数据,同时也会删除客户端的 session cookie。
<?php
session_start();
// 清空会话中的数据
$_SESSION = [];
// 删除客户端的 session cookie
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(
session_name(),
'',
time() - 42000,
$params["path"],
$params["domain"],
$params["secure"],
$params["httponly"]
);
}
// 销毁会话
session_destroy();
?>
本文介绍了 PHP 会话的基本用法,包括开启会话、存取数据、设置选项以及销毁会话。在实际开发中,会话经常用来存储用户状态、购物车信息等等。在使用会话时,需要注意一些安全问题,比如避免 session hijacking(会话劫持)等攻击。