Cookie存储于客户端,Session存储于服务端。
Cookie有大小和时间和数量限制,Session可以自己设置。
Cookie
Cookie文件包含了用户登录信息,存储于客户端。
创建Cookie:setcookie()
//setcookie用于创建kookie
//参数一表示cookie名称,参数二表示cookie名称的值
setcookie('name','H');
默认情况下,会话结束时cookie就会消失。
创建包含过期时间的Cookie:
//过期时间采用当前时间戳+秒即可
//time()+(7*24*60*60)表示7天。
setcookie('name','H','time()+(7*24*60*60)');
可以简写为:
setcookie('name','H','time()+(7*24*3600)');
读取Cookie:使用超全局变量$_COOKIE
//
echo $_COOKIE['name'];
检测是否设置Cookie:isset()
isset($_COOKIE['age']);
删除Cookie:setcookie()
值设为空
setcookie('name','');//即可
另一种方式:setcookie('name','H',time()-1);
Cookie每个浏览器最多数量为30个,并且每个不能超过4KB,每个web站点能设置的总数不能超过20个。
Session
session需要开启使用。
创建session
session_start()
;
<?php
session_start(); //首先开启
$_SESSION['name'] = 'H';//直接赋值
echo $_SESSION['name'];
?>
session是不会有延迟生成的,而cookie会延迟生成。
由于session存放于服务端,所以当网页无任何操作时会自动销毁(避免资源消耗过大),网页关闭时也会销毁。
判断是否存在:isset()
isset($_SESSION['name']);
删除session:unset()
unset($_SESSION['name']);
批量删除session:session_destroy()
session_destroy();
注意:
cookie适用于会员登录、购物车…等等
因为它不占用服务器资源,在会员特别多,购物车也多的情况下使用cookie很适合。
session一般用于后台登录,因为用户少。而且安全性较高。