zoukankan      html  css  js  c++  java
  • php cookie使用实例

    一般Cookie会存在哪儿?

    Chrome浏览器的Cookie文件的存放路径是:

    C:Users你的用户名AppDataLocalGoogleChromeUser DataDefaultCookies

    Firefox浏览器的Cookies文件存放路径是:

    C:Users你的用户名AppDataRoamingMozillaFirefoxProfilesxxx.defaultcookies.sqlite 每个人可能略有不同

    php中Cookie的功能和用途是什么?

    最根本的用途是 Cookie 能够帮助 Web 站点保存有关访问者的信息。

    例如,购物站点上的 Web 服务器跟踪每个购物者,以便站点能够管理购物车和其他的用户相关信息。因此 Cookie 的作用就类似于名片,它提供了相关的标识信息,可以帮助应用程序确定如何继续执行。

    使用 Cookie 能够达到多种目的,所有这些目的都是为了使 Web 站点记住您。例如,一个实施民意测验的站点可以简单地利用 Cookie 作为布尔值,表示您的浏览器是否已经参与了投票,从而避免您重复投票; 而那些要求用户登录的站点则可以通过 Cookie 来确定您是否已经登录过,这样您就不必每次都输入凭据。

    注意: 一般不要用 Cookie 保存数据集或其他大量的数据。并非所有的浏览器都支持 Cookie,并且数据信息是以明文文本的形式保存在客户端计算机中,因此最好不要保存敏感的、未加密的数据,否则会影响网络的安全性。

    php中如何创建Cookie

    使用 setcookie() 函数的全部参数设置,实例代码如下的显示

    <?php
    
      setcookie("username","cyy",time()+60*60,"/test",".php.cn",1);
    
    ?>

    说明:上例中表示建立一个识别名称为“username” 的 Cookie,其内容值为字符串“cyy”,而在客户端的存储有效期为1小时。参数"/test" 表示 Cookie 只有在这个子目录或子目录中有效。参数".php.cn" 使 Cookie能在如 php.cn 域名下的所有子域中都有效,虽然 “.” 并不是必需的,但加上它会兼容更多的浏览器。当最后一个参数设为 1 时,则 Cookie 仅在安全的连接中才能被设置。

    使用setcookie()给的值只能是数字或者字符串,不能是其他的复杂结构。

    php中如何读取Cookie

    从PHP5之后,任何从客户端发送过来的 Cookie信息,都会被自动保存在 $_COOKIE 全局数组中,所以在每个 PHP脚本中都可以从该数组中读取相应的 Cookie信息。 $_COOKIE 全局数组存储所有通过 HTTP 传递的 Cookie 资料内容,并以 Cookie 的识别名称为索引值、内容值为元素。

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

    <?php
    
    date_default_timezone_set('PRC');
    if(!isset($_COOKIE['time'])){
        setcookie('time',date('Y-m-d H:i:s'));//检测cookie是否存在,创建cookie
        echo '第一次访问';
    }else{
        setcookie('time',date('Y-m-d H:i:s'),time()+60);//设置保存cookie失效的时间
        echo '上次访问的时间是:'.$_COOKIE['time'];//输出上次访问的时间
        echo '<br>';
    }
    echo '本次访问的时间为:'.date('Y-m-d H:i:s');

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

     

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

    php中如何删除Cookie

    1. 使用 setcookie() 函数把目标 Cookie 设置为 “已经过期” 的状态来删除 Cookie

    删除 Cookie 和 创建 Cookie 的方式基本类型,删除 Cookie 也使用 setcookie() 函数。 删除 Cookie只需要将 setcookie() 函数中的第二个参数设置为空值,将第三个参数 Cookie 的失效时间设置为 小于系统的当前时间即可。

    下面就来通过代码来将Cookie 的失效时间设置为当前时间减1秒。

    setcookie("Cookie_name", "" , time()-1);

    上面的代码中,time()函数返回以秒表示的当前的时间戳,把当前时间减1秒就会得到过去的时间,从而删除 Cookie。

    2. 使用 setcookie() 函数把 Cookie 的生存时间默认设置为空, 则生存期限与浏览器一样,浏览器关闭时 Cookie就会被删除。只指定 Cookie 识别名称一个参数,即删除客户端中这个指定名称的 Cookie 资料。

    setcookie("Cookie_name");

    注意:把失效时间设置为0,也可以直接删除 Cookie。

    Cookie 的生命周期

    虽然 Cookie 可以长期保存在客户端浏览器中,但也不是一成不变的。因为浏览器最多允许存储 300 个Cookie文件,而且每个 Cookie 文件支持最大容量为4KB;每个域名最多支持20个 Cookie ,如果达到限制时,浏览器会自动地随机删除 Cookie 文件。

  • 相关阅读:
    tyvj 1031 热浪 最短路
    【bzoj2005】 [Noi2010]能量采集 数学结论(gcd)
    hdu 1394 Minimum Inversion Number 逆序数/树状数组
    HDU 1698 just a hook 线段树,区间定值,求和
    ZeptoLab Code Rush 2015 C. Om Nom and Candies 暴力
    ZeptoLab Code Rush 2015 B. Om Nom and Dark Park DFS
    ZeptoLab Code Rush 2015 A. King of Thieves 暴力
    hdoj 5199 Gunner map
    hdoj 5198 Strange Class 水题
    vijos 1659 河蟹王国 线段树区间加、区间查询最大值
  • 原文地址:https://www.cnblogs.com/chenyingying0/p/12963667.html
Copyright © 2011-2022 走看看