PHP课程

浏览13598
更新时间2025-08-06

什么是 PHP 会话?

当您使用一个应用程序时,您打开它,进行一些更改,然后关闭它。这非常类似于一个会话。计算机知道您是谁。它知道您何时开始应用程序以及何时结束。但是在互联网上有一个问题:Web 服务器不知道您是谁或您在做什么,因为 HTTP 地址不维护状态。

会话变量通过存储跨多个页面使用的用户信息(例如用户名、喜欢的颜色等)来解决此问题。默认情况下,会话变量在用户关闭浏览器之前一直存在。

因此;会话变量保存有关单个用户的信息,并在一个应用程序中的所有页面中可用。

提示:如果您需要永久存储,您可能需要将数据存储在数据库中。

开始 PHP 会话

会话通过 session_start() 函数开始。

会话变量通过 PHP 全局变量:$_SESSION 设置。

现在,让我们创建一张名为 "demo_session1.php" 的新页面。在此页面中,我们启动一个新的 PHP 会话并设置一些会话变量:

实例

<?php
// 开始会话
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// 设置会话变量
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "会话变量已设置。";
?>

</body>
</html>

运行实例

注意:session_start() 函数必须是您文档中的第一个内容。在任何 HTML 标签之前。

获取 PHP 会话变量值

接下来,我们创建另一个名为 "demo_session2.php" 的页面。从该页面,我们将访问在第一页("demo_session1.php")上设置的会话信息。

请注意,会话变量不是单独传递给每个新页面的,而是从我们在每个页面开始时打开的会话(session_start())中检索的。

另请注意,所有会话变量值都存储在全局 $_SESSION 变量中:

实例

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// 输出上一页设置的会话变量
echo "喜欢的颜色是 " . $_SESSION["favcolor"] . ".<br>";
echo "喜欢的动物是 " . $_SESSION["favanimal"] . ".";
?>

</body>
</html>

运行实例

显示用户会话的所有会话变量值的另一种方法是运行以下代码:

实例

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
print_r($_SESSION);
?>

</body>
</html>

运行实例

它是如何工作的?它怎么知道是我?

大多数会话在用户的计算机上设置一个用户密钥,看起来像这样:765487cf34ert8dede5a562e4f3a7e12。然后,当在另一页上打开会话时,它会扫描计算机以查找用户密钥。如果匹配,则访问该会话,否则,它开始一个新的会话。

修改 PHP 会话变量

要更改会话变量,只需重写它:

实例

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// 要更改会话变量,只需重写它
$_SESSION["favcolor"] = "yellow";
print_r($_SESSION);
?>

</body>
</html>

运行实例

销毁 PHP 会话

要删除所有全局会话变量并销毁会话,请使用 session_unset()session_destroy()

实例

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// 移除所有会话变量
session_unset();

// 销毁会话
session_destroy();
?>

</body>
</html>

运行实例

相关视频

更多

免费

php8,我来也
初级php8,我来也

34万次学习

收藏

免费

Thinkphp6.0正式版视频教程
中级Thinkphp6.0正式版视频教程

39.6万次学习

收藏

免费

细说PHP第一季
中级细说PHP第一季

31万次学习

收藏

精品课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

64.9万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

41.2万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

76.6万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

64.1万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

24.3万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

36.2万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

133.1万人学习

热门下载

更多
phpStudy 2018最新版
phpStudy 2018最新版

集成PHP7,16种组合,超全大合集

下载

VC9 32位
VC9 32位

VC9 32位 phpstudy集成安装环境运行库

下载

VC11 32位
VC11 32位

VC11 32位 phpstudy集成安装环境运行库​

下载

php程序员工具箱完整版
php程序员工具箱完整版

程序员工具箱 v1.0 php集成环境

下载

VC14 32位
VC14 32位

VC14 32位 phpstudy安装环境运行库

下载

SublimeText3汉化版
SublimeText3汉化版

中文版,非常好用

下载

Notepad++ Windows版
Notepad++ Windows版

Notepad++ 8.9.7 Windows版官方安装包,适合 Windows 用户进行代码编辑、文本处理、语法高亮和插件扩展配置。

下载