PHP中Cookie的使用详解(简单易懂)


Posted in PHP onApril 28, 2017

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);

}
}

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

PHP 相关文章推荐
dede3.1分页文字采集过滤规则详说(图文教程)
Apr 03 PHP
让PHP支持断点续传的源码
May 16 PHP
php设计模式  Command(命令模式)
Jun 17 PHP
php绘图之生成饼状图的方法
Jan 24 PHP
在WordPress中获取数据库字段内容和添加主题设置菜单
Jan 11 PHP
php根据数据id自动生成编号的实现方法
Oct 16 PHP
thinkPHP数据库增删改查操作方法实例详解
Dec 06 PHP
php实现的双色球算法示例
Jun 20 PHP
PHP基于SPL实现的迭代器模式示例
Apr 22 PHP
Laravel框架生命周期与原理分析
Jun 12 PHP
php+mysql开发的最简单在线题库(在线做题系统)完整案例
Mar 30 PHP
thinkphp5+layui实现的分页样式示例
Oct 08 PHP
PHP解决中文乱码
Apr 28 #PHP
PHP中常用的魔术方法
Apr 28 #PHP
PHP实现Unicode编码相互转换的方法示例
Nov 17 #PHP
PHP实现文件下载【实例分享】
Apr 28 #PHP
PHP实现批量删除(封装)
Apr 28 #PHP
ThinkPHP实现生成和校验验证码功能
Apr 28 #PHP
PHP后台微信支付和支付宝支付开发
Apr 28 #PHP
You might like
PHP中call_user_func_array()函数的用法演示
2012/02/05 PHP
详解PHP实现异步调用的4种方法
2016/03/14 PHP
PHP基于递归算法解决兔子生兔子问题
2018/05/11 PHP
laravel入门知识点整理
2020/09/15 PHP
自己做的模拟模态对话框实现代码
2012/05/23 Javascript
基于jQuery的获取标签名的代码
2012/07/16 Javascript
js获得鼠标的坐标值的方法
2013/03/13 Javascript
jquery xMarquee实现文字水平无缝滚动效果
2014/04/29 Javascript
对之前写的jquery分页做下升级
2014/06/19 Javascript
javascript数据类型示例分享
2015/01/19 Javascript
JavaScript中创建字典对象(dictionary)实例
2015/03/31 Javascript
全面理解JavaScript中的继承(必看)
2016/06/16 Javascript
JS 组件系列之BootstrapTable的treegrid功能
2017/06/16 Javascript
微信浏览器禁止页面下拉查看网址实例详解
2017/06/28 Javascript
Node.js中流(stream)的使用方法示例
2017/07/16 Javascript
详解使用nvm安装node.js
2017/07/18 Javascript
Vue.js 踩坑记之双向绑定
2018/05/03 Javascript
vue+iview动态渲染表格详解
2019/03/19 Javascript
解决layui数据表格table的横向滚动条显示问题
2019/09/04 Javascript
Element的el-tree控件后台数据结构的生成以及方法的抽取
2020/03/05 Javascript
[54:28]EG vs OG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
用python 批量更改图像尺寸到统一大小的方法
2018/03/31 Python
PyQt5实现下载进度条效果
2018/04/19 Python
使用 Supervisor 监控 Python3 进程方式
2019/12/05 Python
对Tensorflow中tensorboard日志的生成与显示详解
2020/02/04 Python
基于TensorBoard中graph模块图结构分析
2020/02/15 Python
Python安装并操作redis实现流程详解
2020/10/13 Python
database面试题
2013/03/28 面试题
如何开启linux的ssh服务
2015/02/14 面试题
美术教师自我鉴定
2014/02/12 职场文书
个人综合鉴定材料
2014/05/23 职场文书
2015年度优秀员工自荐书
2015/03/06 职场文书
前台接待岗位职责范本
2015/04/03 职场文书
Python几种酷炫的进度条的方式
2022/04/11 Python
CentOS安装Nginx并部署vue
2022/04/12 Servers
JavaScript原型链中函数和对象的理解
2022/06/16 Javascript