COOKIE:
<?php
/*
设置,修改,删除cookie,都是使用setcookie函数来完成的.
*/
/*
用2个参数来设置cookie
浏览器关闭就失效.
会话cookie [会话结束,就失效]
*/
setcookie('user','zhangsan');
/*
用3个参数来设置cookie
第3个参数用来指定有效期.
该有效期是用"时间戳"来表示的.
例:设置一个30秒内有效的cookie.
*/
setcookie('tmp','30miao',time()+30);
/*
用4个参数来设置cookie.
第4个参数代表有效路径.
默认情况下, cookie在哪一个目录下设置的.
则在该目录及子目录有效.
如果登陆页面在/user/login.php, 则只能在user目录下有效.
*/
setcookie('path','any where',time()+1800,'/');
setcookie('login','true',time()+3600);
//查看coolie
print_r($_COOKIE);
?>
SESSION:
<?php
// session的具体语法
//无论是session的设置,读取,销毁,都需要先session_start
session_start();
//2: 设置session值?
//答: 直接操作$_SESSION超级全局数组
$_SESSION['user']='nihao';
//获取SESSION
echo $_SESSION['user'];
//3:销毁session
//销毁cookie
//$_SESSION = array();
//session_unset()
//session_destroy()是一种办法.
?>
session在默认情况下,关闭浏览器就失效.因为,浏览器关闭,则cookie中的session_id信息就丢失了.所以,session失效了.但是---服务器上的 session文件依然存在.
对应的PHP.ini配置:
session.cookie_lifetime = 0
保存session_id的cookie信息,关闭浏览器就失效.注意: 对应的session文件并没有消失.
如何设置一个30分钟有效的session信息?
1: 设置session.cookie_lifetime = 1800秒.
2: session文件的清理机制
session用如下机制来清除:
每当服务器被请求时, 启动一定的概率来决定,是否清除过期的session文件.