PHP中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 "成功";
 ?>

如果你删除的cookie的key=>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);

}
}

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!

(0)

相关推荐

  • PHP会话控制:Session与Cookie详解

    本文介绍了PHP会话控制,主要阐述以下几点内容: • 会话控制的产生背景/概念 • cookie的维护与生命周期(有效时间) • session的维护与生命周期(回收机制) • cookie与session之间的区别与联系 • 问题1:禁用cookie后session为什么会失效? • 问题2:IE浏览器下丢失session,每次刷新页面,都会生成新的sessionID(Firefox浏览器正常) • session.cookie简单实例 理解会话控制的概念 理解一个概念就需要理解他的背景及产生

  • PHP setcookie设置Cookie用法(及设置无效的问题)

    结果碰到一个问题,setcookie设置了Cookie并没有生效,在浏览器端也没有看到.查了一下,原来是setcookie是通过HTTP请求响应的Header来完成的,需要在请求响应内容输出之前执行(就像其他Header设定一样). 在php.ini中error_reporting = E_ALL的情况下,输出内容之后再setcookie会弹出以下提示: 复制代码 代码如下: Warning: Cannot modify header information – headers already

  • PHP CURL获取cookies模拟登录的方法

    要提取google搜索的部分数据,发现google对于软件抓取它的数据屏蔽的厉害,以前伪造下 USER-AGENT 就可以抓数据,但是现在却不行了.利用抓包数据发现,Google 判断了 cookies,当你没有cookies的时候,直接返回 302 跳转,而且是连续几十个302跳转,根本抓不了数据.因此,在发送搜索命令时,需要先提取 cookies 并保存,然后利用保存下来的这个cookies再次发送搜索命令即可正常抓数据了.这其实和论坛的模拟登录一个道理,先POST登录,获取cookies并

  • php cookie 登录验证示例代码

    复制代码 代码如下: <html> <head> <title>Login</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <body> <form name="form1" method="post" action=

  • php中cookie的使用方法

    1.创建/更新cookie 复制代码 代码如下: setCookie($cookieName,$value,time()+秒数): 例子:创建一个cookie,名字为UserName,值为zs,过期时间为2个星期 复制代码 代码如下: setcookie("UserName","zs",time()+2*7*24*3600); 如果不设置时间,就不会保存到cookie文件中.浏览器不关时,能够访问.当浏览器关闭时,就无法访问了. 例子: 复制代码 代码如下: set

  • php 删除cookie方法详解

    我们先来看下相关cookie的机制. 复制代码 代码如下: bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure]]]]] ) 要删除cookie需要确保它的失效期是在过去,才能触发浏览器的删除机制. 下面的例子说明了如何删除刚才设置的cookie: 复制代码 代码如下: <?php //将过期时间设为一小时前 setcookie("

  • 在PHP中设置、使用、删除Cookie的解决方法

    1.设置Cookie PHP用SetCookie函数来设置Cookie.必须注意的一点是:Cookie是HTTP协议头的一部分,用于浏览器和服务器之间传递信息,所以必须在任何属于HTML文件本身的内容输出之前调用Cookie函数. SetCookie函数定义了一个Cookie,并且把它附加在HTTP头的后面,SetCookie函数的原型如下: int SetCookie(string name, string value, int expire, string path, string doma

  • php跨域cookie共享使用方法

    A 机器所在的域:a1.main.com,A 有应用 main.phpB 机器所在的域:b1.test.com,B 有应用 test.php 1.在 main.php 里设置 cookie 的时候, cookie 的设置方法如下: 复制代码 代码如下: setcookie( "TestCookie",  "okol",  time() + 3600,  "/", "b1.test.com", 1 ); 这样在 test.php

  • PHP之COOKIE支持详解

    一: 设置cookie 使用cookie前必须设置cookie. 函数原型:int setcookie(string name,string value,int expire,string path,string domain,int secure) 其中,除name外,所有的参数都是可选的,可以用空的字符串表示未设置. 属性value: 用来指定值. 属性path: 用来指定cookie被发送到服务器的哪一个目录路径下. 属性domain:能够在浏览器端对cookie的发送进行限定. expi

  • PHP读取CURL模拟登录时生成Cookie文件的方法

    本文实例讲述了PHP读取CURL模拟登录时生成Cookie文件的方法.分享给大家供大家参考.具体实现方法如下: 在使用PHP中的CURL模拟登录时会保存一个Cookie文件,例如下面的代码 复制代码 代码如下: $login_url = 'XXX';    $post_fields['email'] = 'XXXX';  $post_fields['password'] = 'XXXX';  $post_fields['origURL'] = 'XXX';  $post_fields['doma

随机推荐