session
session
存储于服务器中的全局数组 _SESSION
中,使用 session
之前,务必调用 session_start()
函数!
•session可实现页面之间数据共享
•启动会话
<?php
session_start();
$_SESSION['user'] = 'zhangsan';
?>
•获取 session
<?php
session_start();
if (isset($_SESSION['user']))
{
echo "user: " . $_SESSION['user'];
}
?>
•删除会话
unset($_SESSION['key'])
$_SESSION = array()
•结束当前会话
session_destory()
cookie
存储于浏览器端,由浏览器每次向服务器发出请求时,放在 http 协议的头部,发给服务器。服务器设置 cookie ,本质是发送请求和参数给浏览器,最终还是由浏览器存盘。服务器设置 cookie 后,并不会马上生效,必须等到下次 客户端向服务器发出请求时,将 cookie 发给服务器!
•创建cookie
对于 php ,设置 cookie 主要使用函数 setcookie(name, value, expire, path, domain);
name:作为键(必选)
value: 作为值(必选)
expire:过期时间,可以使用 time() 函数获取当前时间,在此基础上增加或者减少,单位:S
•读取cookie
•$_COOKIE[key]
•删除cookie
•setcookie(key,value,time()-1)
区别:
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能。考虑到减轻服务器性能方面,应当使用COOKIE。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
5、所以个人建议:
• 将登陆信息等重要信息存放为SESSION
• 其他信息如果需要保留,可以放在COOKIE中