PHP之COOKIE支持详解


Posted in PHP onSeptember 20, 2010

一: 设置cookie
使用cookie前必须设置cookie.
函数原型:int setcookie(string name,string value,int expire,string path,string domain,int secure)
其中,除name外,所有的参数都是可选的,可以用空的字符串表示未设置.
属性value: 用来指定值.
属性path: 用来指定cookie被发送到服务器的哪一个目录路径下.
属性domain:能够在浏览器端对cookie的发送进行限定.
expire参数:用来指定cookie的有效时间,它是一个标准的Unix时间标记.
可以用time()或者mktime()函数取得,以秒为单位.
secure参数:表示这个cookie是否通过加密的HTTPS协议在网络上传输.

二: 设置cookie时的注意事项
在同一个页面中设置cookie,实际上是按从后往前的顺序进行的.如果要先删除一个cookie,再写入一个cookie,则必须先写写入语句,再写删除语句.否则会出现错误.

三: setcookie举例
简单的: setcookie("mycookie","value_of_mycookie");
带失效时间的: setcookie("withExpire","Expire_in_1_hour",time()+3600);
什么都有的:setcookie("FullCookie","Full_cookie_value",time+3600,"/forum","www.123.com",1);

四: cookie的一些特点
cookie是面向路径的.缺省path属性时,WEB服务器页会自动传递当前路径给浏览器.指定路径会强制服务器使用设置的路径.
在一个目录页面里设的cookie在另一个目录的页面里是看不到的.

五: 接收和处理cookie
PHP对cookie的处理是全自动的,和处理FORM变量的原则一样.当然也可以使用PHP全局变量,$HTTP_COOKIE_VARS数组.
例: echo $mycookie;
echo $cookie Array[0];
echo count($cookie Array);
echo $HTTP_COOKIE_VARS["mycookie"];

六: 删除cookie
(1)调用只带有name参数的setcookie();
(2)使失效时间为time()或time-1;

七: 使用cookie的限制
(1) 必须在HTML文件的内容输出之前设置;
(2)不同的浏览器对cookie的处理不一致,使用时一定要考虑;
(3)客户端的限制,比如用户设置禁止cookie,则cookie不能建立;

八: 一个具体的例子,希望大家对cookie有更加深刻的认识

<? 
//cookie.php 
if(!isset($flag)) 
{ 
setcookie("mycookie","this my cookie!"); 
header("location:cookie.php?flag=1"); 
exit; 
} 
?> 
<html> 
<body> 
<? 
echo "cookie中有:".$mycookie; 
?> 
</body> 
</html>
PHP 相关文章推荐
php中邮箱地址正则表达式实现与详解
Apr 24 PHP
PHP5函数小全(分享)
Jun 06 PHP
利用PHP+JS实现搜索自动提示(实例)
Jun 09 PHP
php提交表单发送邮件的方法
Mar 20 PHP
php一个解析字符串排列数组的方法
May 12 PHP
php用户登录之cookie信息安全分析
May 13 PHP
php自定义函数转换html标签示例
Sep 29 PHP
PHP实现的文件操作类及文件下载功能示例
Dec 24 PHP
使用PHPStorm+XDebug搭建单步调试环境
Nov 19 PHP
php empty 函数判断结果为空但实际值却为非空的原因解析
May 28 PHP
Laravel框架查询构造器简单示例
May 08 PHP
Laravel框架源码解析之反射的使用详解
May 14 PHP
PHPCMS的使用小结
Sep 20 #PHP
PHP中的MYSQL常用函数(php下操作数据库必备)
Sep 12 #PHP
zen cart新进商品的随机排序修改方法
Sep 10 #PHP
php表单转换textarea换行符的方法
Sep 10 #PHP
PHPnow安装服务[apache_pn]失败的问题的解决方法
Sep 10 #PHP
php下使用curl模拟用户登陆的代码
Sep 10 #PHP
PHP获取表单textarea数据中的换行问题
Sep 10 #PHP
You might like
一个取得文件扩展名的函数
2006/10/09 PHP
php实现分页工具类分享
2014/01/09 PHP
php提交表单时保留多个空格及换行的文本样式的方法
2017/06/20 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
IE之动态添加DOM节点触发window.resize事件
2010/07/27 Javascript
caller和callee的区别介绍及演示结果
2013/03/10 Javascript
jQuery插件multiScroll实现全屏鼠标滚动切换页面特效
2015/04/12 Javascript
JS模态窗口返回值兼容问题的完美解决方法
2016/05/28 Javascript
JS基础随笔(菜鸟必看篇)
2016/07/13 Javascript
ES6中Generator与异步操作实例分析
2017/03/31 Javascript
微信小程序背景音乐开发详解
2019/12/12 Javascript
vue.js this.$router.push获取不到params参数问题
2020/03/03 Javascript
[00:17]天涯墨客一技能展示
2018/08/25 DOTA
Python中List.index()方法的使用教程
2015/05/20 Python
解读Python编程中的命名空间与作用域
2015/10/16 Python
Python对象类型及其运算方法(详解)
2017/07/05 Python
python2.7读取文件夹下所有文件名称及内容的方法
2018/02/24 Python
利用python打开摄像头及颜色检测方法
2018/08/03 Python
django主动抛出403异常的方法详解
2019/01/04 Python
OpenCV图像颜色反转算法详解
2019/05/13 Python
使用python绘制二维图形示例
2019/11/22 Python
pymysql的简单封装代码实例
2020/01/08 Python
利用HTML5+css3+jquery+weui实现仿微信聊天界面功能
2018/01/08 HTML / CSS
html5 桌面提醒:Notifycations应用介绍
2012/11/27 HTML / CSS
中文专业毕业生自荐信
2013/10/28 职场文书
网站客服岗位职责
2014/04/05 职场文书
村主任群众路线个人对照检查材料
2014/09/26 职场文书
11.9消防日宣传标语
2014/10/08 职场文书
个人批评与自我批评
2014/10/15 职场文书
2015年项目经理工作总结
2015/04/30 职场文书
2015年社区居委会工作总结
2015/05/18 职场文书
mysql 索引合并的使用
2021/08/30 MySQL
Redis 持久化 RDB 与 AOF的执行过程
2021/11/07 Redis
【海涛解说】史上最给力比赛,挑战DOTA极限
2022/04/01 DOTA
改造DE1103三步曲
2022/04/07 无线电
python处理json数据文件
2022/04/11 Python