|
本文介绍下,在PHP中设置、使用、删除Cookie,及Cookie的一些限制的相关内容,有需要的朋友,可以参考下。
1、设置Cookie 在php中设置cookie,使用SetCookie函数。 注意:Cookie是HTTP协议头的一部分,用于浏览器和服务器之间传递信息,所以必须在任何属于HTML文件本身的内容输出之前调用Cookie函数。 SetCookie函数定义了一个Cookie,并且把它附加在HTTP头的后面,SetCookie函数的原型如下: int SetCookie(string name, string value, int expire, string path, string domain, int secure);除了name之外所有的参数都是可选的。value,path,domain三个参数可以用空字符串代换,表示没有设置;expire 和 secure两个参数是数值型的,可以用0表示。expire参数是一个标准的unix时间标记,可以用time()或mktime()函数取得,以秒为单位。secure参数表示这个cookie是否通过加密的https协议在网络上传输。 当前设置的Cookie不是立即生效的,而是要等到下一个页面时才能看到.这是由于在设置的这个页面里Cookie由服务器传递给客户浏览器,在下一个页面浏览器才能把Cookie从客户的机器里取出传回服务器的原因。 在同一个页面设置Cookie,实际是从后往前,所以如果要在插入一个新的Cookie之前删掉一个,你必须先写插入的语句,再写删除的语句,否则可能会出现不希望的结果。 来看几个SetCookie()函数设置Cookie的例子。 --简单的: SetCookie("MyCookie", "Value of MyCookie"); --带失效时间的: SetCookie("WithExpire", "Expire in 1 hour", time()+3600);//3600秒=1小时 --全面型: SetCookie("FullCookie", "Full cookie value", time()+3600, "/forum", ".jbxue.com", 1); 如果站点有几个不同的目录,只用不带路径的Cookie的话,在一个目录下的页面里设的Cookie在另一个目录的页面里是看不到的。 Cookie是面向路径的。 即使没有指定路径,WEB服务器会自动传递当前的路径给浏览器的,指定路径会强制服务器使用设置的路径。 解决方法: 在调用SetCookie时加上路径和域名,域名的格式可以是“bbs.it-home.org”,也可是 “.jbxue.com”。 SetCookie函数里表示value的部分,在传递时会自动被encode。 如果value的值是“test value”在传递时就变成了“test%20value”,跟URL的方法一样。 这对于程序来说是透明的,PHP接收Cookie的值时会自动将其decode。 设置同名的多个Cookie,要用数组: SetCookie("CookieArray[]", "Value 1"); SetCookie("CookieArray[]", "Value 2"); 或 SetCookie("CookieArray[0]", "Value 1"); SetCookie("CookieArray[1]", "Value 2");2、接收和处理Cookie PHP对Cookie的接收和处理的支持非常好,是完全自动的,跟FORM变量的原则一样,特别简单。 比如设置一个名为MyCookier的Cookie,PHP会自动从WEB服务器接收的HTTP头里把它分析出来,并形成一个与普通变量一样的变量,名为 $myCookie,这个变量的值就是Cookie的值。 数组同样适用。 另外一个办法是引用PHP的全局变量$HTTP_COOKIE_VARS数组。 分别举例如下:(假设这些都在以前的页面里设置过了,并且仍然有效) echo $MyCookie; echo $CookieArray[0]; echo count($CookieArray); echo $HTTP_COOKIE_VARS["MyCookie"];就这么简单。
方科网络ERP图文店
下载
方科网络ERP图文店II版为仿代码站独立研发的网络版ERP销售程序。本本版本为方科网络ERP图文店版的简化版,去除了部分不同用的功能,使得系统更加精炼实用。考虑到图文店的特殊情况,本系统并未制作出入库功能,而是将销售作为重头,使用本系统,可以有效解决大型图文店员工多,换班数量多,订单混杂不清的情况。下单、取件、结算分别记录操作人员,真正做到订单全程跟踪!无限用户级别,不同的用户级别可以设置不同的价 立即学习“PHP免费学习笔记(深入)”; 3、删除Cookie 要删除一个已经存在的Cookie,有两个办法: 一是调用只带有name参数的SetCookie,那么名为这个name的Cookie将被从关系户机上删掉; 另一个办法是设置Cookie的失效时间为 time()或time()-1,那么这个Cookie在这个页面的浏览完之后就被删除了(其实是失效了)。 注意:当一个Cookie被删除时,它的值在当前页在仍然有效的。 4、使用Cookie的限制 首先,必须在HTML文件的内容输出之前设置; 其次,不同的浏览器对Cookie的处理不一致辞,且有时会出现错误的结果。比如:MS IE+SERVICE PACK 1不能正确处理带域名和路径的Cookie,Netscape Communicator 4.05和MS IE 3.0不能正确处理不带路径和时间的Cookie。至于MS IE 5 好象不能处理带域名、路径和时间的Cookie。这是我在设计本站的页面时发现的。 第三个限制是在客户端的。 一个浏览器能创建的Cookie数量最多为30个,并且每个不能超过4KB,每个WEB站点能设置的Cookie总数不能超过20个。 以上就是本节要介绍的有关php cookie操作的全部内容,我们详细介绍了php中cookie的设置、使用、删除的方法,及一些要注意的问题。 希望对大家有所帮助。 |
0
0
相关文章
PHP增删改查怎么导入数据到数据库_php数据导入方法【步骤】
php怎么在数组中去掉摸个之_PHP在数组中移除指定元素
解决PHP intl 扩展未加载问题:多PHP环境与配置排查指南
php怎么删除源码_php源码删除安全与操作指南
Ubuntu系统下PHP Cron作业的正确配置与常见故障排除
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。
463
2026.02.13
本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。
135
2026.02.13
本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。
64
2026.02.13
本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。
20
2026.02.13
本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。
26
2026.02.13
本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。
14
2026.02.12
本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。
524
2026.02.12
本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。
53
2026.02.12
热门下载
精品课程
共2课时 | 0.3万人学习
共50课时 | 4.6万人学习
共16课时 | 1万人学习
最新文章



