php中cookie的用法是怎么样的?在php中使用cookie需要注意什么?cookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制。
PHP在http协议的头信息里发送cookie, 因此 setcookie() 函数必须在其它信息被输出到浏览器前调用,这和对 header() 函数的限制类似。

本文转自:
http://blog.chinaunix.net/u/27731/showart_259031.html

1.1 设置cookie:
    可以用 setcookie() 或 setrawcookie() 函数来设置 cookie。也可以通过向客户端直接发送http头来设置.
1.1.1 使用setcookie()函数设置cookie:
bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure [, bool httponly]]]]]] )
     name:   cookie变量名
     value:   cookie变量的值
     expire:  有效期结束的时间,
     path:    有效目录,
     domain: 有效域名,顶级域唯一
     secure:  如果值为1,则cookie只能在https连接上有效,如果为默认值0,则http和https都可以.
例子:
<?php
$value = 'something from somewhere';

setcookie("TestCookie", $value); /* 简单cookie设置 */
setcookie("TestCookie", $value, time()+3600); /* 有效期1个小时 */
setcookie("TestCookie", $value, time()+3600, "/~rasmus/", ".example.com", 1); /* 有效目录 /~rasmus,有效域名example.com及其所有子域名 */
?>

设置多个cookie变量: setcookie('var[a]','value');用数组来表示变量,但他的下标不用引号.这样就可以用$_COOKIE[‘var’][‘a’]来读取该COOKIE变量.

1.1.2. 使用header()设置cookie;
header("Set-Cookie: name=$value[;path=$path[;domain=xxx.com[;...]]");
后面的参数和上面列出setcookie函数的参数一样.
比如:

$value = 'something from somewhere';
header("Set-Cookie:name=$value");

1.2 Cookie的读取:

直接用php内置超级全局变量 $_COOKIE就可以读取浏览器端的cookie.
上面例子中设置了cookie"TestCookie",现在我们来读取:

print $_COOKIE['TestCookie'];

COOKIE是不是被输出了?!

1.3 删除cookie
只需把有效时间设为小于当前时间, 和把值设置为空.例如:
setcookie("name","",time()-1);
用header()类似.

1.4 常见问题解决:

1) 用setcookie()时有错误提示,可能是因为调用setcookie()前面有输出或空格.也可能你的文档使从其他字符集转换过来,文档后面可能带 有BOM签名(就是在文件内容添加一些隐藏的BOM字符).解决的办法就是使你的文档不出现这种情况.还有通过使用ob_start()函数有也能处理一 点.
2) $_COOKIE受magic_quotes_gpc影响,可能自动转义
3) 使用的时候,有必要测试用户是否支持cookie

1.5 cookie工作机理:

有些学习者比较冲动,没心思把原理研究,所以我把它放后面.
a) 服务器通过随着响应发送一个http的Set-Cookie头,在客户机中设置一个cookie(多个cookie要多个头).
b) 客户端自动向服务器端发送一个http的cookie头,服务器接收读取.

HTTP/1.x 200 OK
X-Powered-By: PHP/5.2.1
Set-Cookie: TestCookie=something from somewhere; path=/
Expires: Thu, 19 Nov 2007 18:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-type: text/html

这一行实现了cookie功能,收到这行后
Set-Cookie: TestCookie=something from somewhere; path=/
浏览器将在客户端的磁盘上创建一个cookie文件,并在里面写入:

TestCookie=something from somewhere;

这一行就是我们用setcookie('TestCookie','something from somewhere','/');的结果.也就是用header('Set-Cookie: TestCookie=something from somewhere; path=/');的结果.

转载于:https://www.cnblogs.com/shsgl/p/3952975.html

php中cookie的用法相关推荐

  1. cookies java,java 中 Cookie的用法

    Cookie:记录用户登陆状态,可以在客户端创建cookie,可以使用户第二次登陆的时候不用输入用户名和密码,即可以登陆到主页 主要代码: LoginView 中: (获取cookie) //获取co ...

  2. Yii2 中cookie的用法(2)

    设置Cookie PHPsetcookie("name", "Larry", time()+3600); Yii2$cookies = Yii::$app-&g ...

  3. 关于JavaScript中cookie的用法的例子

    最近做项目中牵扯到要写一些cookie的例子,发现在自己在js方面还有很多的不足,然需要努力: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 ...

  4. 关于JavaScript中cookie的用法例子

    前天做项目的中的一个功能,实现图片关闭之后刷新也不显示的功能,由于自己的js基础不好,浪费了好大的时间,请教别人和查资料才整出来,感觉自己虽然做前端都一年多了,js技术还是没多大的提高,以后要加大js ...

  5. jquery中cookie用法实例详解(获取,存储,删除等)

    这篇文章主要介绍了jquery中cookie用法,结合实例详细分析了jQuery操作cookie的获取,存储,删除等操作,并附带了Jquery操作Cookie记录用户查询过信息实现方法,需要的朋友可以 ...

  6. lr 中cookie的解释与用法

    Loadrunner 中 cookie 解释与用法 loadrunner 中与 cookie 处理相关的常用函数如下: web_add_cookie(): 添加新的 cookie 或者修改已经存在的 ...

  7. JavaScript中window.open用法实例详解

    本文较为详细的分析了JavaScript中window.open用法.分享给大家供大家参考.具体如下: 复制代码 代码如下: <script LANGUAGE="javascript& ...

  8. JSP 中EL表达式用法详解

    EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便.接下来介绍EL主要的语法结构: ${sessionScope.user.sex} 所有EL都是以${ ...

  9. c中session的用法

    c中session的用法你知道吗?下面小编就跟你们详细介绍下c中session的用法,希望对你们有用. c中session的用法如下: Session的基本属性: 一.属性 1.SessionID S ...

最新文章

  1. 一个妹子的大厂后台面试经验总结
  2. 多线程——NSThread、GCD、NSOperation
  3. 在JavaScript函数中使用EL表达式注意的事项
  4. MATLAB字符串数组中查找指定子串
  5. php对角线数组代码,php数组内容查找代码
  6. JS与Object-C交互补充
  7. ubuntu ftp服务器_如何在Ubuntu上安装FTP服务器?
  8. Latex 图像总是出现在目标页的下一页置顶
  9. Linux 下自动化脚本安装Jdk、Nginx等软件
  10. kernal tch 下载 天正_【T20天正插件下载】T20天正插件最新版 v5.0 官方版-开心电玩...
  11. IDEA设置SQL格式化(关键字大写)
  12. npm 下载第三方包
  13. Vue组件动态(异步)传值
  14. python复数类型的虚部通过_Python 复数数据类型详解(complex)[学习 Python 必备基础知识][看此一篇就够了...
  15. pagehelper版本升级导致pageSize为0时无法查询全部数据
  16. java 获取年和季度_java获取当前时间的年周月季度等的开始结束时间
  17. 金融业务知识(2):股票交易的基本流程
  18. 解决Openwrt安装插件提示一下错误的办法
  19. 什么是RGB模式与BGR模式
  20. 北京一卡通app未能连接到服务器,使用Apple Pay刷北京一卡通时遇到这些问题怎么办?...

热门文章

  1. 蚂蚁金服面试经历!临场发挥!
  2. 解决com.alibaba.fastjson.JSONException: autoType is not support
  3. Spring Cloud构建微服务架构:服务注册与发现(Eureka、Consul)【Dalston版】
  4. 理解Maven中的SNAPSHOT版本和正式版本
  5. 每个开发阶段对应的最流行的Java工具
  6. 6.OSI七层网络模型与TCP/IP四层网络模型
  7. 磁盘调度算法寻道问题
  8. mysql文件系统_mysql文件系统先睹为快
  9. 2022年改变数据中心行业的八大趋势
  10. 地震也能照常运行的数据中心新设计