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
一个程序下载的管理程序(四)
Oct 09 PHP
PHP图片上传类带图片显示
Nov 25 PHP
一周让你学会PHP 不错的学习资料
Feb 06 PHP
PHP 设计模式之观察者模式介绍
Feb 22 PHP
php比较多维数组中值的大小排序实现代码
Sep 08 PHP
php curl基本操作详解
Jul 23 PHP
php像数组一样存取和修改字符串字符
Mar 21 PHP
Yii实现的多级联动下拉菜单
Jul 13 PHP
phpstudy默认不支持64位php的解决方法
Feb 20 PHP
php微信开发之图片回复功能
Jun 14 PHP
PHP生成zip压缩包的常用方法示例
Aug 22 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面试中关于面向对象的相关问题
2019/02/13 PHP
实例介绍PHP删除数组中的重复元素
2019/03/03 PHP
Yii框架多语言站点配置方法分析【中文/英文切换站点】
2020/04/07 PHP
jquery关于图形报表的运用实现代码
2011/01/06 Javascript
jQuery下实现等待指定元素加载完毕(可改成纯js版)
2013/07/11 Javascript
PHP abstract与interface之间的区别
2013/11/11 Javascript
javascript通过className来获取元素的简单示例代码
2014/01/10 Javascript
解决微信浏览器Javascript无法使用window.location.reload()刷新页面
2016/06/21 Javascript
Javascript中作用域的详细介绍
2016/10/06 Javascript
Vue 过渡(动画)transition组件案例详解
2017/01/22 Javascript
Agularjs妙用双向数据绑定实现手风琴效果
2017/05/26 Javascript
获取当前按钮或者html的ID名称实例(推荐)
2017/06/23 Javascript
vue 将页面公用的头部组件化的方法
2017/12/18 Javascript
详解Angularjs 自定义指令中的数据绑定
2018/07/19 Javascript
layui获取多选框中的值方法
2018/08/15 Javascript
vue侧边栏动态生成下级菜单的方法
2018/09/07 Javascript
详解vue2.6插槽更新v-slot用法总结
2019/03/09 Javascript
Vue项目服务器部署之子目录部署方法
2019/05/12 Javascript
javascript随机变色实例代码
2019/10/15 Javascript
浅谈Vue使用Cascader级联选择器数据回显中的坑
2020/10/31 Javascript
vuex中遇到的坑,vuex数据改变,组件中页面不渲染操作
2020/11/16 Javascript
详解python里使用正则表达式的分组命名方式
2017/10/24 Python
Python 错误和异常代码详解
2018/01/29 Python
Python进阶之尾递归的用法实例
2018/01/31 Python
python爬虫 爬取超清壁纸代码实例
2019/08/16 Python
整理HTML5中支持的URL编码与字符编码
2016/02/23 HTML / CSS
Uber Eats台湾:寻找附近提供送餐服务的餐厅
2018/05/07 全球购物
金融专业毕业生推荐信
2013/11/26 职场文书
工作态度检讨书
2014/02/11 职场文书
致800米运动员广播稿
2014/02/16 职场文书
毕业实习证明(4篇)
2014/10/28 职场文书
小学中队活动总结
2015/05/11 职场文书
大学生如何逃脱“毕业季创业队即散伙”魔咒?
2019/08/19 职场文书
golang 实现菜单树的生成方式
2021/04/28 Golang
Golang 获取文件md5校验的方法以及效率对比
2021/05/08 Golang
Java实现二分搜索树的示例代码
2022/03/17 Java/Android