zoukankan      html  css  js  c++  java
  • PHP中Cookie的使用---添加/更新/删除/获取Cookie 及 自动填写该用户的用户名和密码和判断是否第一次登陆

    PHP中Cookie的使用---添加/更新/删除/获取Cookie 及 自动填写该用户的用户名和密码和判断是否第一次登陆 

    什么是cookie

    服务器在客户端保存用户的信息,比如登录名,密码等

    这些数据就像小甜饼一样,数据量并不大,服务器端在需要的时候可以从客户端读取,保存在客户端的浏览器缓存目录下

    ①   当浏览器访问,cookie.php时,服务器还以Set-Cookie:name=zxf;expire=Wed,21-Sep-2017 20:14 GMT会送http响应,当浏览器获取到该消息后,就会保存该cookie的信息到本地磁盘

    ②   如果我们没有时间(第三个参数)

    cookie不会保存到客户端,当浏览器会话结束,cookie会失效

    ③   cookie保存的是字符串信息

    ④   客户端可以保存多个key=>val

    ⑤   cookie在保存过程中,会对中文进行urlencode编码

    cookie可以有多个key=>val,可以给不同的键值,制定不同的有效时间

    代码如下:xx.php

    <?php

    //添加cookie

    setcookie("name","zxf",time()+3600);

    //数组

    /$arr = array(1,2,3); 

     $arr_str = serialize($arr);   

     setcookie("a",$arr_str,time()+3600); 

    //获取cookie

    var_dump($_COOKIE);

    //更新cookie

    setcookie("name","aaa",time()+3600);

    //删除cookie

    setcookie("name","",time()-20);

    //删除所有

    foreach ($_COOKIE as $key => $value) {

            setcookie($key,"",time()-1);

     }

    echo "成功";

     ?>

     如果你删除的cookiekey=>val没有删除完,则这个cookie在客户端保留,如果把这个网站的cookie都删除的,则浏览器会把cookie文件删除

    判断是否第一次登陆

    <?php

    //先判断cookie里是否有上次的登录信息

    if(!empty($_COOKIE[‘lastVisit’])){

             echo “你上次登陆的时间是”.$_COOKIE[‘lastViat’];

    //更新时间

    setcookie(“lastVisit”,”data(Y-m-d  H:i:s)”, time()+3600);

    }else{

    //说明用户是第一次登陆

    echo”第一次登陆”;

    //更新时间

    setcookie(“lastViait”,”data(“Y-m-d  H:i:s”)”, time()+3600);

    }

    ?>

    打开登陆界面的时候,自动填写该用户的用户名和密码

    checklogin.php

    //获取用户是否选中了保存id

    if(!empty($_POST[‘cookie’])){

             setcookie(“id”,$id,time()-100);

    }else{

             if(!empty($_COOKIE[‘id’])){

                       setcookie(“id”,$id,time()-10);

    }

    }

  • 相关阅读:
    遗传算法(Genetic Algorithm, GA)及MATLAB实现
    CCF CSP 201809-2 买菜
    PAT (Basic Level) Practice (中文)1008 数组元素循环右移问题 (20 分)
    PAT (Basic Level) Practice (中文)1006 换个格式输出整数 (15 分)
    PAT (Basic Level) Practice (中文)1004 成绩排名 (20 分)
    PAT (Basic Level) Practice (中文)1002 写出这个数 (20 分)
    PAT (Advanced Level) Practice 1001 A+B Format (20 分)
    BP神经网络(原理及MATLAB实现)
    问题 1676: 算法2-8~2-11:链表的基本操作
    问题 1744: 畅通工程 (并查集)
  • 原文地址:https://www.cnblogs.com/zxf100/p/6736019.html
Copyright © 2011-2022 走看看