本帖最后由 惜 于 2018-12-19 09:27 编辑
Cookie 的使用
同样作为互动 Web 页的存储机制 Session 与 Cookie 有其相似之处。那为什么在有了 Session 后还
要使用 Cookie 呢?因为同 Session 相比 Cookie 有其独特之处。下面就来说明一下二者的异同,比较过
二者的异同后,读者就会明白为什么要用 Cookie 了。
Cookie 保存在客户端,而 Session 的内容保存在服务器端,只是把一个 session id 保存在客户
端。也就是说,Cookie 比 Session 更安全,同时也可以说明 Session 是基于 Cookie 的(用 Cookie
来保存 session id)。
由于 Session 是保存在服务器端的,因此会占用服务器的空间,所以在一定时间内如果没有活
动时 Session 就会过期,而且在浏览器关闭后也会作废。而 Cookie 就没有这方面的限制,它
可以设定一个比较长的过期时间。
每个浏览器只能保存同一个域名下的至多 20 个 Cookie,而且每个 Cookie 的大小不能超过
4KB,而 Session 就没有这些限制(因为保存在服务器端)。
有些人会禁止浏览器接受 Cookie,而此时 Session 还是可以用的(注意 session 也可以不通过
Cookie 来实现)。
[PHP] 纯文本查看 复制代码 <?php
$username=$_GET["username"]; //通过 URL 获得参数
if(!$_GET["username"]) //如果没有参数执行内容
{
setcookie("username",""); //取消 username 的资料
echo "没有指定用户名!";
echo "<p>";
echo "或者用户名不存在!";
}
else //如果存在参数
{
setcookie("username","$username",time()+60*60*24); //注册用户名
echo "注册成功,点<a href=index.php>这里</a>查看"; //显示链接以查看 Cookie 信息
}
?>
<html>
<head>
<title>注册用户信息</title>
</head>
<body>
</body>
</html>
<html>
<head>
<title>显示用户信息</title>
</head>
<body>
<?php
echo "注册用户名为:";
echo $_COOKIE[username]; //显示 Cookie 信息
?>
</body>
<html>
想过如图:
|