//初始化session
session_start();
//创建一个session
$_SESSION['name']=''zhangsan";
//获取一个session
$name=$_SESSION['name'];
//删除session
unset($_SESSION['name']);
//删除所有session
session_destroy();
/**
* session 原理知识
* 当浏览器运行session_start(); 就会创建一个session文件
* session 数据默认 24分钟失效 ,可以在php.in 进行配置
* session.gc_maxlifetime = 1440 可以修改session的默认失效时间
* session文件存放路径可以在php。in 进行修改 session.save_path = "D:/wamp/tmp"
*
* 服务器如何实现一个session为一个用户浏览器服务的,是因为session_id 的原因
*
*
*
*/
//客户机禁用cookie之后怎么使用session
//第一个办法 通过超链接传参的方法 ,传入session_id 的值
//test.php 页面
if(isset($_GET['sid'])){
session_id($_GET['sid']);
$sid=$_GET['sid'];
}
session_start();
$_SESSION['name']='zhangsan';
$sid=session_id();
echo $_SESSION['name'];
foreach ($_SESSION as $key=>$value){
echo $value;
}
echo "<a href='test2.php?sid=$sid'>修改了session</a>";
//test2.php
if(isset($_GET['sid'])){
session_id($_GET['sid']);
$sid=$_GET['sid'];
}
session_start();
$_SESSION['sex']='男';
foreach ($_SESSION as $key=>$value){
echo $value;
}
echo "<a href='test.php?sid=$sid'>返回test</a> ";
//第二个方法,通过php中的常量SID进行传递,SID存储的就是当前的session_id
if(isset($_GET['PHPSESSID'])){
session_id($_GET['PHPSESSID']);
}
session_start();
$_SESSION['name']='zhangsan';
foreach ($_SESSION as $key=>$value){
echo $value;
}
//加一个session
echo "<a href='test2.php?".SID."'>修改了session</a>";
if(isset($_GET['PHPSESSID'])){
session_id($_GET['PHPSESSID']);
}
session_start();
$_SESSION['sex']='男';
foreach ($_SESSION as $key=>$value){
echo $value;
}
echo "<a href='test.php?".SID."'>返回test</a> ";
//第三种方法session.use_trans_sid = 0 设置为1可以支持透明SID传递。如:action,Location,超链接 则不需要添加SID,js跳转则不支持,
//window下支持不是特别好,需自己测试。。
/**
* php.ini 关于cookie和session的配置
* session.name 设置session的名字,默认PHPSESSID;
* session.sava_path 设置网站session存放的目录
* session.gc.maxlifentime session存在 的最大周期
*
* 这两个变量组合起来就是php中session垃圾回收机制调用的概率。当一个用户创建session_start()时,有千分之一的几率会调用垃圾回收,回收session垃圾
* 对于访问人数越多的网站,垃圾回收概率越低就越好些
* session.gc_probability = 1
* session.gc_divisor = 1000
*
* seesion.cookie_lifetime=0 cookie默认的存在时间。默认是如果不对cookie值进行设置的话。cookie的值在浏览器关闭后就不会被保存了
*
*
*
*
*
*/