登录  /  注册

php中如何读取Cookie

伊谢尔伦
发布: 2017-04-25 13:39:03
原创
6000人浏览过

     如果 cookie 设置成功,客户端就拥有了 cookie 文件,用来保存 web 服务器为期设置的用户信息。假设我们在客户端使用了 windows 系统去浏览服务器中的脚本, cookie 文件会被存放在 “ c:\documents and settings\ 用户名\ cookies” 文件夹下。 cookie 是一个以普通文本文件形式记录信息的,虽然直接使用文本编辑器就可以打开浏览,但直接去阅读 cookie 文件中的信息是没有意义的。而是当客户再次访问该网站时,浏览器会自动把与该站点对应的 cookie 信息全部发送给服务器。 从php5之后,任何从客户端发送过来的 cookie信息,都会被自动保存在 $_cookie 全局数组中,所以在每个 php脚本中都可以从该数组中读取相应的 cookie信息。 $_cookie 全局数组存储所有通过 http 传递的  cookie 资料内容,并以 cookie 的识别名称为索引值、内容值为元素。

       在设置 Cookie 脚本中,第一次读取它的信息并不会生效,必须刷新或到下一个页面才可以看到 Cookie 值,因为 Cookie 要先被设置到客户端,再次访问时才能被发送过来,这是才能被获取。所以要测试一个 Cookie 是否被成功设定,可以再其到期之前 通过另外一个页面来访问其的值。

在PHP中可以直接通过超全局变量数组 $_COOKIE[] 来读取浏览器端的 Cookie 值。

实例代码如下所示:

<?php
  date_default_timezone_set(&#39;PRC&#39;);       //设置时区
 if(!isset($_COOKIE[&#39;time&#39;])){                //检测 Cookie 文件是否存在
    setcookie(&#39;time&#39;,date(&#39;y-m-d H:i:s&#39;));    //设置一个 Cookie 变量
    echo "第一次访问";
 }else{
    setcookie(&#39;time&#39;,date(&#39;y-m-d H:i:s&#39;),time()+60);   //设置保存  Cookie 失效的时间的变量
    echo "上次访问的时间为:".$_COOKIE[&#39;time&#39;];        //输出上次访问网站的时间
    echo &#39;<br>&#39;;
 }
    echo "本次访问的时间为:".date(&#39;y-m-d H:i:s&#39;);     //输出当前的访问时间
?>
登录后复制

在上面的代码中,首先使用 isset()函数检测 Cookie 文件是否存在。如果不存在,则使用 setcookie() 函数创建一个Cookie,并输出相应的字符串;如果 Cookie 文件存在,则使用 setcookie() 函数 设置文件失效的时间,并输出用户上次访问网站的时间,最后在页面输出本次方位网站的当前时间。

首次运行实例时,由于没有检测到 Cookie 文件,运行结果图如下所示:

141.png

如果用户在  Cookie 设置失效的时间(上面的实例为60秒)前刷新或者再次访问该网页,运行结果如下:

142.png

注意:如果未设置 Cookie 失效的时间,则在关闭浏览器时自动删除 Cookie 数据。如果为  Cookie 设置了失效的时间,浏览器将会记住Cookie 数据,即使重新启动了计算机,只要没有到期,再访问网站时也会获得访问的数据信息。

以上就是php中如何读取Cookie的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 //m.sbmmt.com/ All Rights Reserved | php.cn | 湘ICP备2023035733号