• 当客户访问某个基于PHP技术的网站时,在PHP中可以使用setcookie()函数生成一个cookie,系统经处理把这个cookie发送到客户端并保存在C:\Documents andSettings\用户名\Cookies目录下。
  • cookie是HTTP标头的一部分,因此setcookie()函数必须在HTML本身的任何内容送到浏览器之前调用。这种限制与header()函数一样(如需了解head()函数,请自行查阅)。
  • 当 客户再次访问该网站时,浏览器会自动把C:\DocumentsandSettings\用户名\Cookies目录下与该站点对应的cookie发送到 服务器,服务器则把从客户端传来的cookie将自动地转化成一个PHP变量。在PHP5中,客户端发来的cookie将被转换成全局变量。你可以通 过$_COOKIE[‘xxx’]读取。

定义一个cookie

  • 设置cookie:
  • 语法:boolsetcookie(stringname,[stringvalue,[int expire,[stringpath,[stringdomain,[int secure]]]]]);

本cookie函数可以有6个属性,常用的有3个参数。

  1. 实例:

$value="the best way is by yourself";

setcookie("cookiename",$value,time()+60*60*24*7);

  1. 接收和处理cookie

PHP对cookie有很好的支持,和form表单一样,接收的时候PHP会自动从web服务器接收HTTP头并且它。接收的时候和表单接收一样,用$_COOKIE[“cookiename”]或者$HTTP_COOKIE_VARS[“cookiename”](不提倡使用)

  1. 注意:

如果网站有几个不同的文件目录,使用不带路径的cookie,那么只能在设置cookie的文件所在路径下访问到此cookie。如果指定路径,则按照设置时的路径作为访问cookie的指定路径。

创建cookie数组:

  1. 其一:

setcookie("CookieArray[0]","Value1");

setcookie("CookieArray[1]","Value2");

  1. 其二:

setcookie("CookieArray['one']","Value1");

setcookie("CookieArray['two']","Value2");

  1. setcookie()中使用数组

<?php

setcookie("cookie[three]","cookiethree");

setcookie("cookie[two]","cookietwo");

setcookie("cookie[one]","cookieone");

//刷新页面后,显示出来

if(isset($_COOKIE['cookie'])){

foreach($_COOKIE['cookie']as$name=>$value){

echo"$name:$value<br/>\n";

}

}

?>

删除cookie

  1. 要删除一个已经存在的cookie,有两个办法:

1、调用只带有name参数的setcookie,那么名为这个name的cookie将被从客户机上删掉;

setcookie(“MyCookie”);//删除MyCookie

2、过期时间就行,那么这个Cookie在这个页面的浏览完之后就被删除了(其实是失效了)。

例如:

setcookie(“MyCookie”,”Value”,time()-1);

//删除MyCookie。

要注意:当一个Cookie被删除时,它的值在当前页仍然有效。如果要把cookie设置成在浏览器关闭后就失效。那么可以直接把expiretime设为0,或者不设置此值。

例如:setcookie(“name”,”value”,0)。

cookie注意事项

  • 1、setcookie()之前不能有任何html输出,就是空格,空白行都不行,必须在html文件的内容输出前设置
  • 2、setcookie()后,你在当前页调用echo$_COOKIE[“name”]不会有输出。必须刷新或到下一个页面才可以看到cookie值。
  • 3、不用浏览器对cookie处理不同。客户端可以禁用cookie,浏览器也会限制cookie的数量。一个浏览器能创建的cookie数量最多为300个,并且每个不能超过4KB,每个WEB站点能设置的cookie总数不能超过20个。
  • 4、cookie是保存在客户端的,用户禁用了cookie,你的cookie自然也就没作用啦!因此,避免过度依赖cookie,要先想好如果cookie被禁用时的解决方案,以备万一。

cookie工作原理的更多相关文章

  1. session和cookie工作原理说明

    session 第一次请求: session_start 1.第一次发送http请求,由于第一次未携带session_id ,首先自动生成一个session_id,初始化$_SESSION[]; 2. ...

  2. cookie和会话状态的工作原理

    一:存在两种类型的cookie: 1>会话cookie (session cookie)        不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,   ...

  3. SSO 基于Cookie+fliter实现单点登录(SSO):工作原理

    SSO的概念: 单点登录SSO(Single Sign-On)是身份管理中的一部分. SSO的一种较为通俗的定义是:SSO是指訪问同一server不同应用中的受保护资源的同一用户,仅仅须要登录一次,即 ...

  4. Cookie和Session的工作原理及比较

    一.Cookie详解 (1)简介 因为HTTP协议是无状态的,即服务器不知道用户上一次做了什么,这严重阻碍了交互式Web应用程序的实现.在典型的网上购物场景中,用户浏览了几个页面,买了一盒饼干和两饮料 ...

  5. Cookie和Session的作用和工作原理

    一.Cookie详解 (1)简介 因为HTTP协议是无状态的,即服务器不知道用户上一次做了什么,这严重阻碍了交互式Web应用程序的实现.在典型的网上购物场景中,用户浏览了几个页面,买了一盒饼干和两饮料 ...

  6. 描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理

    Session用于保存每个用户的专用信息. 每个客户端用户访问时,服务器都为每个用户分配一个唯一的会话ID(Session ID) . 她的生存期是用户持续请求时间再加上一段时间(一般是20分钟左右) ...

  7. 会话(cookie的使用,路径和Session的工作原理,使用)

    1.状态管理----Cookie 1.1 为什么需要状态管理 HTTP协议是无状态的,不能保存每次提交的信息,即当服务器返回与请求相对应的应答之后,这次事务的所有信息就丢掉了. 如果用户发来一个新的请 ...

  8. 【夯实Nginx基础】Nginx工作原理和优化、漏洞

    本文地址 原文地址 本文提纲: 1.  Nginx的模块与工作原理    2.  Nginx的进程模型    3 . NginxFastCGI运行原理        3.1 什么是 FastCGI   ...

  9. 浏览器内部工作原理--作者:Tali Garsiel

    本篇内容为转载,主要用于个人学习使用,作者:Tali Garsiel 一.介绍 浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工作原理,我们将看到,从你在地址栏输入google.com到你看到 ...

随机推荐

  1. Code Jam 2008 APAC local onsites Problem C. Millionaire —— 概率DP

    题意: 你有X元钱,进行M轮赌博游戏.每一轮可以将所持的任意一部分钱作为赌注(赌注为0元表示这一轮不押),赌注可以是小数的,不是一定要整数.每一轮 赢的概率为P,赢了赌注翻倍,输了赌注就没了.如果你最 ...

  2. recent.css常用的页面初始化样式

    <style> @charset "utf-8"; body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form ...

  3. Java基础知识强化之IO流笔记72:NIO之 NIO核心组件(NIO使用代码示例)

    1.Java NIO 由以下几个核心部分组成: Channels(通道) Buffers(缓冲区) Selectors(选择器) 虽然Java NIO 中除此之外还有很多类和组件,Channel,Bu ...

  4. Windows环境下安装Redis

    1:首先下载redis.从下面地址下:https://github.com/MSOpenTech/redis/releases2:创建redis.conf文件:这是一个配置文件,指定了redis的监听 ...

  5. 改成 否“依然报LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏”问题的解决

    LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 . 这个bug说实话,还是挺让人蛋疼的!!! 问题发生原因: 我这里能跑2013+opencv24 ...

  6. JavaScript 键盘event.keyCode值列表大全

      JavaScript 键盘event.keyCode值列表大全   event.keyCode值列表大全,对于需要根据键盘按键触发相应事件的朋友需要. 网上收集的KeyCode值方便大家查找: k ...

  7. WPF ScrollViewer(滚动条) 自定义样式表制作 再发一套样式 细节优化

    艾尼路 出的效果图 本人嵌套 WPF ScrollViewer(滚动条) 自定义样式表制作 图文并茂 WPF ScrollViewer(滚动条) 自定义样式表制作 (改良+美化) 源代码

  8. C#程序开机运行

    #region 系统启动项 /// <summary> /// 获取启动项值 /// </summary> /// <param name="name" ...

  9. Part 12 Angularjs filter by multiple properties

    In the example below, we are using multiple search textboxes. As you type in the "Search name&q ...

  10. Swiper之滑块2

    对比之前Swiper滑块1来说,我们添加一下背景颜色来看看: <!DOCTYPE html> <html> <head> <meta http-equiv=& ...