cookie管理
创建cookie
在php中,通过函数setcookie()创建cookie。
cookie是http头标的组成部分,故而它必须最先输出,即在setcookie()函数前不能有任何的输出内容。
语法格式如下:
setcookie(name,value【expire,path,domain,secure】)
print_r($_COOKIE);
| name | 必需。规定 cookie 的名称。 |
|---|---|
| value | 必需。规定 cookie 的值。 |
| expire | 可选。规定 cookie 的有效期。 |
| path | 可选。规定 cookie 的服务器路径。 |
| domain | 可选。规定 cookie 的域名。 |
| secure | 可选。规定是否通过安全的 HTTPS 连接来传输 cookie。 |
若path值为/ 则在整个domain都有效。
secure值为0,则在http和https连接上均有效;若值为1,则只在https连接上有效。
读取cookie
echo$_COOKIE[“user”];
通过name值输出cookie内容。
print_r($_COOKIE);
以数组形式输出所有cookie内容。
删除cookie
通过把时间设置为当前时间之前,可以删除cookie。
如设置为”time()-1”。
还可以通过F12打开开发者工具,找到保存在浏览器的cookie,从而删除。
cookie文件的储存大小与数量有限,如果达到限制,浏览器会自动随机的删除cookie。
会话cookie
如果不设定时间,cookie的生命周期就为浏览器会话的期间,关闭浏览器后自动删除。
被称为会话cookie。
Session管理
什么是session
session翻译为“会话”。
在计算机专业术语中,session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统所经过的时间。
session工作原理
当启动一个session会话时,会生成一个随机且唯一的session_id,也就是session文件名,此时session_id储存在服务器的内存中,关闭页面时,id会自动注销,重新登陆此页面,会再次生成一个随机且唯一的id。
session的功能
可记录用户的有关信息,以供用户再次以此身份对web服务器提交要求时作确认。
存储信息相对较少,且不需要长期储存的信息适合用session储存到服务器。
创建会话
启动会话
通过session_strat()函数
使用该会话前,浏览器不能有任何输出。
会话变量被登录到数据$_SESSION
注册会话
启动会话后,创建一个session变量并赋值。
$_SESSION[“abc”]=123;
使用会话
首先判断是否有一个会话id存在。
存在,使用;不存在,创建
删除会话
删除单个会话
使用函数unset()
如unset($_SESSION[“abc”])
删除多个会话
直接给$_SESSION赋空值。
如$_SESSION=array();
结束当前会话
先注销所有会话变量,然后
使用函数session_destroy()
清空所有资源,彻底销毁session。
session设置时间
通过session_strat()函数启动会话
然后
使用setcookie()函数对session设置失效时间。
setcookie(session_name(),session_id(),time()+60,”/“)
session缓存
设置缓存后,在第一次浏览页面后,页面的部分内容在规定的时间内就被临时存储在客户端的临时文件中,下次访问页面时,直接读取缓存内容,提升网站的浏览效率。
代码如下:
session_cache_limiter(‘private’);
$cache_limit = session_cache_limiter(); //开启客户端缓存
session_cache_expire(30);
$cache_expire = session_cache_expire(); //设定客户端缓存时间
session_start();
这两个缓存函数必须在启动会话之前使用。
