PHP

PHP会话技术之Session的基本应用

Session是什么

session是一种服务器端的技术,举个例子

朋友和你借一笔钱,大概100万,直接拿着现金过去肯定是不合适的,一是不安全,二是效率低

我们可以先把钱(数据)存储到银行(服务器),银行给你一张银行卡(session_id), 把银行卡给朋友,朋友通过银行卡找到钱,这就是Session。

Session应用

应用场景,多个服务器文件之间共享数据

1.开启session保存数据

<?php
session_staet();
$_SESSION['name'] = 'zhangsan';

2.读取session数据

<?php
session_staet();
echo $_SESSION['name'];

3.查看session文件
在php.ini中,找到session.save_path,可以看到session的默认存储路径,找到对应的session文件,编辑器打开遍可以看到我们写入的数据

4.修改session数据
通过操作$_SESSION数组,覆盖已经存在的session数据

<?php
session_staet();
$_SESSION['name'] = 'lisi';

5.删除单个session数据
unset($_SESSION['键])

unset($_SESSION['name']);

6.删除全部session数据
foreach循环删除,请注意,不要删除$_SESSION这个超全局数组变量

7.删除session 文件
session_destroy,销毁一个会话中的全部数据,同时删除文件

Session 和 Cookie 的区别

1.存储位置
cookie存储在客户端(浏览器),每次请求是随身携带,在setcookie时创建的
session存储在服务器端,session_start的时候创建的
2.安全性
cookie每次随身携带,安全性不如session高
3.生命周期:
Cookie的生命周期在setcookie时设置的

Session的生命周期在配置文件中的gc_maxlifetime设置,但是通过cookie里面携带的PHPSESSID找到的,这个cookie的有效期默认是0秒,也就是说一旦关闭了浏览器,cookie就失效了,下次访问会重新分配新的cookie,cookie的生命周期是累计的

session的生命周期是间隔的,以20分钟为例

cookie:1 2 3 4 ..... 20分钟
session:1 2 3 4 ..... 19,如果从创建到第19分钟,重新访问了,会重新计算,也就是重新分配20分钟

微信扫一扫,向我赞赏

微信扫一扫,向我赞赏

微信扫一扫,向我赞赏

支付宝扫一扫,向我赞赏

回复

This is just a placeholder img.