苏飞论坛

标题: PHP中的Session与Cookie(2) [打印本页]

作者: 惜    时间: 2018-12-19 09:27
标题: PHP中的Session与Cookie(2)
本帖最后由 惜 于 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>


想过如图:


(, 下载次数: 130)


作者: 范范    时间: 2018-12-19 15:28
感恩无私的分享与奉献
作者: Amy    时间: 2018-12-19 15:46
看到这帖子真是高兴!




欢迎光临 苏飞论坛 (http://www.sufeinet.com/) Powered by Discuz! X3.4