PHP会话控制总结

一.会话跟踪的方式
1.使用url将用户的信息状态传到另一面
2.使用cookie将用户的信息状态,存放在客户端的计算机中
3.使用session将用户的信息状态,存放在服务端的计算机中
二.设置cookie
bool setcookie('cookie的名字','cookie的值',cookie的存活时间一般默认为0,
当浏览器关闭就会消失或者time()*70设置他存活的时间,'/'cookie的根目录)
还有写些可写可不写的值
domain 域名 设置cookie的有效域名
secure 指明cookie只能通过安全的https传送 设置为true只能通过安全的https,默认是false
三.获取cookie
使用超全数组$_COOKIE即可获取cookie
例:输出cookie中的所有信息
print_r($_COOKIE);
输出cookie中其中一条信息
echo $_COOKIE['信息的名字'];
四.删除cookie
只用把cookie的时间设置过期就行
setcookie('cookie名',null,time()-1);
五.设置session
1.首先先要启动session
session_start() 开启session
在这个函数执行前不能有任何的输出
2.设置session
$_SESSION['名称']='值'
3.获取session,通过 超全局变量来取值
$_SESSION['名称'];
六.销毁session
1.清除内存中由session数组保存的变量
unset($_SESSION['名称'])
清除所有变量可以使用$_SESSION=array()
常量session_name()可以拿到session声明的名字
常量session_id() 可以拿到session声明名字后面的值
2.删除客户端的cookie保留的session_id
setcookie(session_name,null,time()-1);
3.删除服务端保留的session信息的文件(一般不使用他)
session_destroy()
七.session的垃圾自动回收机制
php.ini中相关的配置
session.cookie_lifetime=0; 关闭浏览器相应的session失效
session.gc_maxlifetime;设置过期session时间,默认1440秒
session.gc_probability/session.gc_divisor;启动垃圾回收机制的概率(建议值为1/1000~5000)
八.session ID的传递
通过cookie传递Session ID
通过url传递session ID
1.windows服务器下通过url传递常量SID
2.linux服务器下编辑PHP时, 如果使用了—enable-trans-sid配置选项,
 和运行时选项session.use_trans_sid都被激活
在客户端禁用cookie时, 相对的url将被自动修改为包含sessionid.

你可能感兴趣的:(学习总结)