返回介绍

14.4 PHP 中使用 session

发布于 2025-01-30 22:11:37 字数 1906 浏览 0 评论 0 收藏 0

了解了 session 的原理后,我们来学习如何在 PHP 中使用 session。

1.开启 session
首先我们要开启 session,那么第一个要学习的函数就是
bool session_start() 了,这个函数没有参数。在 php 文件的开始使用

  session_start(); 

就可以启用新会话或者重用现有会话了。

2.添加 session 数据
开启会话之后,那么在接下来的处理中,我们就可以使用$_SESSION 变量来存取信息了。我们要知道的是$_SESSION 变量是个数组。当我们要把信息存入 session 的时候应该这么写:

  $_SESSION['userName'] = 'wang';

3.读取 session 数据
读取很简单,就像我们使用数组一样,如下:

  $userName = $_SESSION['userName'];

当然也可以 $_SESSION['userName'] 来用。和数组一样的使用。
4.销毁 session 数据
我们可以使用很多种方式来销毁 session 数据。
a) unset 函数
我们通过使用类似

  unset($_SESSION['XXX']);

来销毁 session 中的 XXX 变量。PS:请不要!请不要!请不要 unset($_SESSION),会导致后续无法使用$_SESSION 这个变量!!!
b) 空数组赋值给 session 变量

  $_SESSION = array();

之前我们说过$_SESSOIN 变量是个数组,那么空数组赋值的话也是相当于将当前会话的$_SESSION 变量中的值销毁。
c) session_destory() 函数
这个函数会销毁当前会话中的全部数据,并结束当前会话。但是不会重置当前会话所关联的全局变量, 也不会重置会话 cookie。

5.通过 session 来检查用户是否登陆和一个简单的购物车例子
例子请查看 12.5 章节
6.session 的扩展:默认 session 存储在哪里。
在 php.ini 配置文件中有这么一行 session.save_handler = files,
files,说明了 php 默认的是用文件读写的方式来保存 session 的。那么在哪个目录呢?继续看。session.save_path = "/tmp",
这一行前面有个 ; ,说明是被注释的,不过即便这样,php 默认的
session 也是保存在这里的,/tmp 目录。上图:
document/2015-08-31/55e44c61f3733
从图中我们可以看到确实在这个目录下面,我们顺便看看里面的内容

document/2015-08-31/55e44c8eb3e27
我的写入 session 的语句是:
$_SESSION['as'] = 'as';
解读一下,第一个 as 代表的是$_SESSION['as']中的 as,|后面的 s 表示的是这是一个字符串类型的数据,2 表示的是这个字符串所占的字节数,最后双引号引起来的是值 as。
PS:还可以自己动手试试存数字的话,|后面显示什么字母。还有,你还可以试试如果你存中文的话,字节数是多少?自己试!别看了!我不会告诉你的!!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文