前言:在PHP中会话技术也是特别重要的,主要应用在免登录,保存一些持久化数据等等的方面,但是后期的介绍中,我将会放弃这种技术改用redis方法来替换这种方法.
(一)cookie技术(即数据缓存在客户端中有风险)
1.设置操作(增删改)
增:setcookie(名, 值)
删:setcookie(名, 空值)
改:setcookie(名, 值2)
2.查
查:$_COOKIE
3.setcookie与$_COOKIE的关系
设置了cookie不会马上生效,而是在下一次访问时候才可以显示,是由于浏览器要在最后一次加载完成后,才会记录这一次的修改
4.COOKIE 属性的设置
setcookie(名, 值, 有效期,有效路径,有效域,是否安全传输,httponly);
1.有效期:
通过setcookie函数的第三个参数来进行设置的;
不设置或设置为0表示默认情况,为一个会话周期;
默认情况一个会话周期为从新增该条COOKIE到浏览器关闭为止。
2.有效路径
通过setcookie函数的第四个参数来进行设置的;
不设置或设置为空字符串表示默认情况;
默认情况表示当前程序所在目录及其子目录有效。
3.有效域
通过setcookie函数的第五个参数来进行设置的;
不设置或设置为空字符串表示默认情况;
默认情况表示当前域名及其子域名有效。
4.是否安全传输
通过setcookie函数的第六个参数来进行设置的;
不设置或设置为false表示默认情况;
默认情况表示http或https下都有效,如果将值设置为true,则表示只有在https下才有效(包括增删改查)。
5.httponly
通过setcookie函数的第七个参数来进行设置的;
不设置或设置为false表示默认情况;
默认情况表示除了能够使用原程序脚本代码访问以外,还能够通过其他脚本语言访问到COOKIE数据。如果设置为true,则表示只允许原程序脚本代码进行操作。
(二)session技术(即数据存在服务器中)
注意:操作session都要开启session_start();
1.设置操作(增删改)
增:$_SESSION['name'] = 'zhangsan';
删:unset($_SESSION['name']);
改:$_SESSION['name'] = 'zhangsan111';
2.查
var_dump($_SESSION['name'])
3.销毁
session_destroy()
4.SESSION的属性控制(单个设置)
有效期:session.cookie_lifetime = 0;
有效路径:session.cookie_path = /
有效域:session.cookie_domain =
httponly属性:session.cook
5.SESSION的属性控制(多个设置)
session_set_cookie_params(有效期[, 有效路径[, 有效域[, 是否安全传输[, httponly]]]])