PHP setcookie设置Cookie用法(及设置无效的问题)


Posted in PHP onJuly 13, 2011

结果碰到一个问题,setcookie设置了Cookie并没有生效,在浏览器端也没有看到。查了一下,原来是setcookie是通过HTTP请求响应的Header来完成的,需要在请求响应内容输出之前执行(就像其他Header设定一样)。

在php.ini中error_reporting = E_ALL的情况下,输出内容之后再setcookie会弹出以下提示:

Warning: Cannot modify header information ? headers already sent by (output started at C:\xampp\htdocs\b.php:2) in … on line …

但因为当时php.ini设置成了error_reporting = E_ALL & ~E_NOTICE,于是没有任何提示,所以开发的时候还是建议设成error_reporting = E_ALL 方便观察到一些异常情况。

附一个setcookie用法实例
a.php

<?php 
setcookie("page", "a.php"); 
$page = $_COOKIE["page"] ? $_COOKIE["page"] : "unknown"; 
echo "From " . $page . "<br /><br />"; 
?> 
This is a.php. Go to <a href="b.php">b.php</a>

b.php
<?php 
setcookie("page", "b.php"); 
$page = isset($_COOKIE["page"]) ? $_COOKIE["page"] : "unknown"; 
echo "From " . $page . "<br /><br />"; 
?> 
This is b.php. Go to <a href="a.php">a.php</a>
PHP 相关文章推荐
Search Engine Friendly的URL设计
Oct 09 PHP
一个比较简单的PHP 分页分组类
Dec 10 PHP
PHP原生模板引擎 最简单的模板引擎
Apr 25 PHP
php使用cookie实现记住用户名和密码实现代码
Apr 27 PHP
浅谈php提交form表单
Jul 01 PHP
php示例详解Constructor Prototype Pattern 原型模式
Oct 15 PHP
详解WordPress中用于合成数组的wp_parse_args()函数
Dec 18 PHP
PHP递归遍历多维数组实现无限分类的方法
May 06 PHP
PHP使用mysqli操作MySQL数据库的简单方法
Feb 04 PHP
PHP实现websocket通信的方法示例
Aug 28 PHP
实例介绍PHP中zip_open()函数用法
Feb 15 PHP
PHP实现15位身份证号转18位的方法分析
Oct 16 PHP
php中使用explode查找某个字符是否存在的方法
Jul 12 #PHP
php array_push()数组函数:将一个或多个单元压入数组的末尾(入栈)
Jul 12 #PHP
php array_pop()数组函数将数组最后一个单元弹出(出栈)
Jul 12 #PHP
php array_map()数组函数使用说明
Jul 12 #PHP
php array_walk() 数组函数
Jul 12 #PHP
7个超级实用的PHP代码片段
Jul 11 #PHP
php函数的常用方法及注意之处小结
Jul 10 #PHP
You might like
PHP入门速成教程
2007/03/19 PHP
怎样给PHP源代码加密?PHP二进制加密与解密的解决办法
2013/04/22 PHP
WordPress中对访客评论功能的一些优化方法
2015/11/24 PHP
PHP函数超时处理方法
2016/02/14 PHP
DOM下的节点属性和操作小结
2009/05/14 Javascript
JS替换字符串中字符即替换全部而不是第一个
2014/06/04 Javascript
js读取csv文件并使用json显示出来
2015/01/09 Javascript
ECMAScript6函数剩余参数(Rest Parameters)
2015/06/12 Javascript
javascript实现网页子页面遍历回调的方法(涉及 window.frames、递归函数、函数上下文)
2015/07/27 Javascript
JavaScript几种数组去掉重复值的方法推荐
2016/04/12 Javascript
layer实现弹窗提交信息
2016/12/12 Javascript
Bootstrap CSS布局之图像
2016/12/17 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
2017/01/03 Javascript
jQuery实现滚动条滚动到子元素位置(方便定位)
2017/01/08 Javascript
十大 Node.js 的 Web 框架(快速提升工作效率)
2017/06/30 Javascript
javascript数组定义的几种方法
2017/10/06 Javascript
利用10行js代码实现上下滚动公告效果
2017/12/08 Javascript
vue中使用echarts制作圆环图的实例代码
2018/07/27 Javascript
node.js的http.createServer过程深入解析
2019/06/06 Javascript
JS中getElementsByClassName与classList兼容性问题解决方案分析
2019/08/07 Javascript
webpack打包html里面img后src为“[object Module]”问题
2019/12/22 Javascript
JS script脚本中async和defer区别详解
2020/06/24 Javascript
TypeScript 运行时类型检查补充工具
2020/09/28 Javascript
解决Ant Design Modal内嵌Form表单initialValue值不动态更新问题
2020/10/29 Javascript
Linux下Python获取IP地址的代码
2014/11/30 Python
Python中os.path用法分析
2015/01/15 Python
python计算文本文件行数的方法
2015/07/06 Python
python 时间戳与格式化时间的转化实现代码
2016/03/23 Python
Python callable()函数用法实例分析
2018/03/17 Python
对python中的高效迭代器函数详解
2018/10/18 Python
详解Django3中直接添加Websockets方式
2020/02/12 Python
Python 删除List元素的三种方法remove、pop、del
2020/11/16 Python
加拿大快时尚零售商:Ardene
2018/02/14 全球购物
纽约复古灵感的现代珠宝品牌:Lulu Frost
2018/03/03 全球购物
司法所长先进事迹
2014/06/02 职场文书
2016暑期政治学习心得体会
2016/01/23 职场文书