Session的初步介绍
1 Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的不同浏览器(一个用户的不同浏览器将生成不同的session文件)创建一个其独享的session文件,
由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务
器中的其他web资源时,其它web资源再从用户各自的session中取出数据为用户服务。
2 原理示意图
3 session的基本用法(curd)增删改查
session 操作-----增
3.1 如何保持session
//1 初始化session
session_start();
//2 保存数据 session文件可以保持基本数据类型
四种标量类型: boolean (布尔型)integer (整型)float (浮点型, 也称作 double) string (字符串)
两种复合类型: array (数组) object (对象)
最后是两种特殊类型: resource (资源)NULL (NULL) 以上8种数据类型均可保持
$_SESSION['name']='www.dacnnet.com'; (string)
$_SESSION['name']='襄阳大成网络'; (string 汉字会urlencode转换)
$_SESSION['age']=100; (interger)
$_SESSION['isboy']=true; (boolean)
$array=array('北京','小明','hello');
$_SESSION['arr1']=$array; (array)
class test{
private $name;
private $age;
function __construct($name,$age){
$this->name=$name;
$this->age = $age;
}
}
$test = new test('wc',20);
$_SESSION['test'] = $test; (object)
session 操作-----改
改很简单 原来的$_SESSION['name']='www.dacnnet.com'; 修改为 $_SESSION['name']='dacnnet.com' 即可。
session 操作-----查
session 保存形式是数组 取出单个数据
$name = $_SESSION['name'];
当然,你也可以循环来取出
foreac($_SESSION as $k => $v){
echo "$k ======== $v";
}
session 操作-----删
session的删除有俩种形式
① 按逻辑出牌,点击网站的 安全退出 链接
1 unset($_SESSION['name']); //一个一个的删除。
你若是按照这样的方法一个一个的删除,session信息和session变量将不存在。session文件内容将被清空,session文件的大小为0。
但是session文件不会删除。直到系统删除(系统如何删除 待续)。
2 $_SESSION = array(); //声明一个空数组
session 的存放形式是以数组的形式,像这样 $_SESSION['name']='wc';
所以给一个$_SESSION = array(); 给他一个空数组,
此时session信息和session变量将不存在, session文件内容将被清空,session文件的大小为0。
但是session文件不会删除。直到系统删除(系统如何删除 待续)。
3 session_destory(); //销毁
此时session文件将删除 ,所以 关于此用户的此浏览器的此session信息。 将不存在。干净 彻底。
② 不按照逻辑出牌,直接点 X 或者直接关闭浏览器
此时需要让服务器自行删除,这是session的垃圾回收机制。(系统如何删除 待续)