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

结果碰到一个问题,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>

时间: 2024-10-26 18:51:47

PHP setcookie设置Cookie用法(及设置无效的问题)_php技巧的相关文章

php中设置index.php文件为只读的方法_php技巧

为index.php文件设置只读属性后,木马就没权限给你文件末尾追加广告了.下面我们看具体的代码,设置index.php只读: 复制代码 代码如下: <?phpfunction set_writeable($file_name){if(@chmod($file_name,0555)){  echo "修改index.php文件只读属性成功";}else{  echo "修改index.php文件只读属性失败,空间商不支持此操作!";}}set_writeabl

解析PHP的Yii框架中cookie和session功能的相关操作_php技巧

Sessions 和 请求 和 响应类似, 默认可通过为yii\web\Session 实例的session 应用组件 来访问sessions. 开启和关闭 Sessions 可使用以下代码来开启和关闭session. $session = Yii::$app->session; // 检查session是否开启 if ($session->isActive) ... // 开启session $session->open(); // 关闭session $session->clo

php cookie工作原理与实例详解_php技巧

在php 中cookie是我们常用到的,但是可能很多朋友都不知道cookie是怎么工作的,下面小编来给大家整理一下关于php cookie 工作原理与一些对于cookie读写操作实例. Cookie和会话状态 做BS开发,这两个概念必不可少,先来个大概了解,没有实际应用很难深入,深入看参考地址! 什么是 Cookie? Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递.用户每次访问站点时,Web 应用程序都可以读取 Cookie 包含的信息. Cookie

php针对cookie操作的队列操作类实例_php技巧

本文实例讲述了php针对cookie操作的队列操作类.分享给大家供大家参考.具体分析如下: 这里包括了从简单的cookie操作(增加,删除,修改)到我们的cookie队列操作类的操作,对此感兴趣的朋友可以参考一下. 一.PHP 的COOKIE cookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制. PHP 在http 协议的头信息里发送cookie,因此 setcookie() 函数必须在其它信息被输出到浏览器前调用,这和对  header() 函数的限制类似. 设置cooki

php使用Cookie实现和用户会话的方法_php技巧

本文实例讲述了php使用Cookie实现和用户会话的方法.分享给大家供大家参考.具体分析如下: PHP 包含了很多的函数,可以用来管理和记录用户信息,包括简单的 cookie 和全方位的用户会话.会话使用 PHP 语言内建的技术,使得保存状态就像是引用超全局变量那样简单. 1.Cookie 简介 我们可以和 PHP 脚本一起使用 cookie 来存储一些关于用户的较小的信息. Cookie 是由用户浏览器存储的少量数据,它和一个来自服务器或脚本的请求一致.通过一个用户的浏览器,一个单个的主机可以

php设置允许大文件上传示例代码_php技巧

用Nginx做为代理服务器, 后端为 apache2. 设置允许上传最大为100M的文件. 1. Nginx配置: http { ...... client_max_body_size 100m; ...... } 2. PHP 配置文件 ...... ; Maximum execution time of each script, in seconds ; http://php.net/max-execution-time ; Note: This directive is hardcoded

PHP中设置时区,记录日志文件的实现代码_php技巧

复制代码 代码如下: <html><body><?phpdate_default_timezone_set('Asia/Hong_Kong');  //set time zoneset_error_handler("myHandler");               //set error handler$chinatime = date('Y-m-d H:i:s');             //get current time$max_size =

PHP设置一边执行一边输出结果的代码_php技巧

复制代码 代码如下: <?php     set_time_limit(10);     ob_end_clean();     //在循环输出前,要关闭输出缓冲区    echo str_pad('',1024);    //浏览器在接受输出一定长度内容之前不会显示缓冲输出,这个长度值 IE是256,火狐是1024    for($i=1;$i<=100;$i++){      echo $i.'<br/>';      flush();    //刷新输出缓冲     slee

让PHP COOKIE立即生效,不用刷新就可以使用_php技巧

复制代码 代码如下: //PHP COOKIE设置函数立即生效. function cookie($var, $value='', $time=0, $path='', $domain=''){ $_COOKIE[$var] = $value; if(is_array($value)){ foreach($value as $k=>$v){ setcookie($var.'['.$k.']', $v, $time, $path, $domain, $s); } }else{ setcookie(