cookie与session
Posted 老夫看你根骨奇特
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cookie与session相关的知识,希望对你有一定的参考价值。
一:COOKIE
设置cookie
参数①cookie的name
②需要存的cookie值
③cookie的有效期,需要时UNIX时间戳,可使用time()函数获得。单位为秒;
④cookie的有效路径,默认只在当前目录有效。设置为"/"表示对所有目录有效
当设置"/"将cookie保存到全局时,需注意本目录下是否有同名
cookie,两者并不会相互覆盖
比如下面两行代码同时执行会在当前目录和全局各生成cookie两者不会替代
在当前目录读取cookie时,会优先读取本目录下的cookie
setcookie("jredu","amatilasi",time()+60*60*24,"/");
setcookie("jredu1","amatilasi155555",time()+60*60*24);
读取cookie:超全局数组$_cookie
删除cookie:①设置一个同名cookie,时间为过期
setcookie("jredu1","amatilasi155555",time()-1);
②省略setcookie()函数的所有参数列,只保留name即为删除操作
setcookie("jredu1");
二:SESSION
1.使用session必须先启动session
使用 session_start();函数启动函数注意这个函数之前不能有任何输出语句
一般写在文件最上方
修改php.ini文件,设置session.auto_start=1可以启动时初始化session.但是
设置自动启动后,将不能往session中存入对象因为对象需要在启动之后才能产生
2. 启动session后,会在cookie中保存一个键为"PHPSESSION"的记录,用于记录session
的唯一标记:当浏览器关闭后,sessionID 默认失效
3.session的存值取值
启动session后,直接操作session全局数组即可;
$_SESSION["user"]="www";存值
echo $_SESSION["user"];取值
4.销毁session的几种方式
①删除session中的某一项
unset($_SESSION["键名"]);
②清除session中的全部数据;
$_SESSION=array()
③删除服务器端保留SESSION信息文件
session_destroy()
5、两个常用配置:
session.cookie_lifetime=0; 设置浏览器关闭时,保存SESSIONID的cookie文件就被删除。也就是说浏览器一关闭,session就失效;
session.gc_maxlifetime;设置过期session时间,默认1440秒(24分钟)。也就是说,即便是浏览器未关闭,在24分钟没有操作的情况下,session也会过期。
以上是关于cookie与session的主要内容,如果未能解决你的问题,请参考以下文章
[TimLinux] HTTP cookie与session技术