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 相关文章推荐
一步一步学习PHP(5) 类和对象
Feb 16 PHP
PHP下利用header()函数设置浏览器缓存的代码
Sep 01 PHP
mysql总结之explain
Feb 27 PHP
PHP 第二节 数据类型之数值型
Apr 28 PHP
给ECShop添加最新评论
Jan 07 PHP
PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法
Jan 04 PHP
ThinkPHP的常用配置选项汇总
Mar 24 PHP
PHP用户注册邮件激活账户的实现代码
May 31 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
Oct 15 PHP
在laravel中实现ORM模型使用第二个数据库设置
Oct 24 PHP
Yii使用DbTarget实现日志功能的示例代码
Jul 21 PHP
laravel数据库查询结果自动转数组修改实例
Feb 27 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 define()函数以及defined()函数的用法详解
2013/06/05 PHP
ThinkPHP模板判断输出Present标签用法详解
2014/06/30 PHP
PHP数组array类常见操作示例
2020/05/15 PHP
小议Function.apply() 之一------(函数的劫持与对象的复制)
2006/11/30 Javascript
基于jQuery判断两个元素是否有重叠部分的代码
2012/07/25 Javascript
select标记美化--JS式插件、后期加载
2013/04/01 Javascript
jQuery写的日历(包括日历的样式及功能)
2013/04/23 Javascript
热点新闻滚动特效的js代码
2013/08/17 Javascript
扩展IE中一些不兼容的方法如contains、startWith等等
2014/01/09 Javascript
JavaScript中的getTime()方法使用详解
2015/06/10 Javascript
JavaScript采用递归算法计算阶乘实例
2015/08/04 Javascript
js实现按钮颜色渐变动画效果
2015/08/20 Javascript
jquery悬浮提示框完整实例
2016/01/13 Javascript
一分钟理解js闭包
2016/05/04 Javascript
JavaScript简单实现弹出拖拽窗口(一)
2016/06/17 Javascript
javascript设计模式Constructor(构造器)模式
2016/08/19 Javascript
jQuery zTree树插件动态加载实例代码
2017/05/11 jQuery
react-router4 嵌套路由的使用方法
2017/07/24 Javascript
原生JS实现的碰撞检测功能示例
2018/05/18 Javascript
详解webpack2异步加载套路
2018/09/14 Javascript
JS事件绑定的常用方式实例总结
2019/03/02 Javascript
详解ES6数组方法find()、findIndex()的总结
2020/05/12 Javascript
vue实践---vue不依赖外部资源实现简单多语操作
2020/09/21 Javascript
[46:16]2018DOTA2亚洲邀请赛3月30日 小组赛B组 iG VS VP
2018/03/31 DOTA
Go/Python/Erlang编程语言对比分析及示例代码
2018/04/23 Python
python实现文件的备份流程详解
2019/06/18 Python
python打开windows应用程序的实例
2019/06/28 Python
python根据文本生成词云图代码实例
2019/11/15 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
2020/03/06 Python
tensorflow实现残差网络方式(mnist数据集)
2020/05/26 Python
DJI大疆无人机官方商城:全球领先的无人飞行器研发和生产商
2016/12/21 全球购物
NYX Professional Makeup俄罗斯官网:世界知名的化妆品品牌
2019/12/26 全球购物
在weblogic中发布ejb需涉及到哪些配置文件
2012/01/17 面试题
企业承诺书怎么写
2014/05/24 职场文书
建筑工地资料员岗位职责
2015/04/13 职场文书
在职证明范本
2015/06/15 职场文书