PHP4之COOKIE支持详解


Posted in PHP onOctober 09, 2006

PHP4之COOKIE支持详解

     建立商业站点或者功能比较完善的个人站点,常常需要记录访问者的信息,在PHP中提供了两种方便的手段:session和cookie功能.为了永久的保持用户信息,则cookie是最便捷的手段.在这里我将为大家详细的讲解cookie的功能及使用方法.

    一: 设置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中的COOKIE功能有了详细的了解.发挥你的聪明才智,让你的站点功能更强大吧.如有问题请与 fbigov@sina.com联系.让我们一同进步. 

PHP 相关文章推荐
用文本作数据处理
Oct 09 PHP
PHP+javascript液晶时钟
Oct 09 PHP
Discuz!5的PHP代码高亮显示插件(黑暗中的舞者更新)
Jan 29 PHP
PHP去掉从word直接粘贴过来的没有用格式的函数
Oct 29 PHP
codeigniter自带数据库类使用方法说明
Mar 25 PHP
php实现比较两个文件夹异同的方法
Jun 18 PHP
Zend Framework动作助手FlashMessenger用法详解
Mar 05 PHP
php图片添加文字水印实现代码
Mar 15 PHP
golang与PHP输出excel示例
Jul 22 PHP
php arsort 数组降序排序详细介绍
Nov 17 PHP
PHP中危险的file_put_contents函数详解
Nov 04 PHP
Thinkphp 框架扩展之数据库驱动常用方法小结
Apr 23 PHP
一个程序下载的管理程序(一)
Oct 09 #PHP
一个程序下载的管理程序(三)
Oct 09 #PHP
计数器详细设计
Oct 09 #PHP
操作Oracle的php类
Oct 09 #PHP
如何利用php+mysql保存和输出文件
Oct 09 #PHP
消息持续发送的完整例子
Oct 09 #PHP
PHP+MYSQL的文章管理系统(一)
Oct 09 #PHP
You might like
PHP下获取上个月、下个月、本月的日期(strtotime,date)
2014/02/02 PHP
PHP+iFrame实现页面无需刷新的异步文件上传
2014/09/16 PHP
php网站被挂木马后的修复方法总结
2014/11/06 PHP
php中使用url传递数组的方法
2015/02/11 PHP
php的RSA加密解密算法原理与用法分析
2020/01/23 PHP
基于jQuery的图片剪切插件
2011/08/03 Javascript
javascript针对DOM的应用分析(二)
2012/04/15 Javascript
jQuery中$.fn的用法示例介绍
2013/11/05 Javascript
利用js制作html table分页示例(js实现分页)
2014/04/25 Javascript
Javascript核心读书有感之语言核心
2015/02/01 Javascript
基于jQuery+Cookie实现的防止刷新的在线考试倒计时
2015/06/19 Javascript
Angular.js如何从PHP读取后台数据
2016/03/24 Javascript
javascript之Boolean类型对象
2016/06/07 Javascript
JavaScript如何实现跨域请求
2016/08/05 Javascript
Node.js开发教程之基于OnceIO框架实现文件上传和验证功能
2016/11/30 Javascript
基于layer.js实现收货地址弹框选择然后返回相应的地址信息
2017/05/26 Javascript
基于Proxy的小程序状态管理实现
2019/06/14 Javascript
vue.js基于v-for实现批量渲染 Json数组对象列表数据示例
2019/08/03 Javascript
小程序实现录音上传功能
2019/11/22 Javascript
python中实现延时回调普通函数示例代码
2017/09/08 Python
python开启摄像头以及深度学习实现目标检测方法
2018/08/03 Python
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
2018/11/01 Python
Python Django框架单元测试之文件上传测试示例
2019/05/17 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
2019/08/27 Python
python dumps和loads区别详解
2020/02/04 Python
Python xlrd excel文件操作代码实例
2020/03/10 Python
基于opencv实现简单画板功能
2020/08/02 Python
ORLY官网:美国专业美甲一线品牌
2019/12/11 全球购物
.net工程师笔试题
2012/06/09 面试题
面试后的英文感谢信
2014/02/01 职场文书
cf收人广告词大全
2014/03/14 职场文书
学习型党组织建设经验材料
2014/05/26 职场文书
python实现监听键盘
2021/04/26 Python
golang DNS服务器的简单实现操作
2021/04/30 Golang
详解flex:1什么意思
2022/07/23 HTML / CSS
Go语言测试库testify使用学习
2022/07/23 Golang