PHP setcookie() 函数

转载 2012年03月31日 14:55:20

定义和用法

setcookie() 函数向客户端发送一个 HTTP cookie。

cookie 是由服务器发送到浏览器的变量。cookie 通常是服务器嵌入到用户计算机中的小文本文件。每当计算机通过浏览器请求一个页面,就会发送这个 cookie。

cookie 的名称指定为相同名称的变量。例如,如果被发送的 cookie 名为 "name",会自动创建名为 $user 的变量,包含 cookie 的值。

必须在任何其他输出发送前对 cookie 进行赋值。

如果成功,则该函数返回 true,否则返回 false。

语法

setcookie(name,value,expire,path,domain,secure)
参数 描述
name 必需。规定 cookie 的名称。
value 必需。规定 cookie 的值。
expire 可选。规定 cookie 的有效期。
path 可选。规定 cookie 的服务器路径。
domain 可选。规定 cookie 的域名。
secure 可选。规定是否通过安全的 HTTPS 连接来传输 cookie。

提示和注释

注释:可以通过 $HTTP_COOKIE_VARS["user"] 或 $_COOKIE["user"] 来访问名为 "user" 的 cookie 的值。

注释:在发送 cookie 时,cookie 的值会自动进行 URL 编码。接收时会进行 URL 解码。如果你不需要这样,可以使用 setrawcookie() 代替。

例子

例子 1

设置并发送 cookie:

<?php
$value = "my cookie value";

// 发送一个简单的 cookie
setcookie("TestCookie",$value);
?>

<html>
<body>

...
...
<?php
$value = "my cookie value";

// 发送一个 24 小时候过期的 cookie
setcookie("TestCookie",$value, time()+3600*24);
?>

<html>
<body>

...
...

例子 2

检索 cookie 值的不同方法:

<html>
<body>

<?php

// 输出个别的 cookie
echo $_COOKIE["TestCookie"];
echo "<br />";
echo $HTTP_COOKIE_VARS["TestCookie"];
echo "<br />";

// 输出所有 cookie
print_r($_COOKIE);
?>

</body>
</html>

输出:

my cookie value
my cookie value
Array ([TestCookie] => my cookie value)

例子 3

通过把失效日期设置为过去的日期/时间,删除一个 cookie:

<?php
// 把失效日期设置为一小时前
setcookie ("TestCookie", "", time() - 3600);
?>

<html>
<body>

...
...

例子 4

创建一个数组 cookie:

<?php
setcookie("cookie[three]","cookiethree");
setcookie("cookie[two]","cookietwo");
setcookie("cookie[one]","cookieone");

// 输出 cookie (在重载页面后)
if (isset($_COOKIE["cookie"]))
  {
  foreach ($_COOKIE["cookie"] as $name => $value)
    {
    echo "$name : $value <br />";
    }
  }
?>

<html>
<body>

...
...

输出:

three : cookiethree
two : cookietwo
one : cookieone

PHP setcookie()之前不能有任何输出

PHP的setcookie函数,手册里是这么写的: setcookie() defines a cookie to be sent along with the rest of the HT...
  • misakaqunianxiatian
  • misakaqunianxiatian
  • 2016年11月24日 17:05
  • 1667

setcookie各个参数详解

setcookie() 函数向客户端发送一个 HTTP cookie。 cookie 是由服务器发送到浏览器的变量。cookie 通常是服务器嵌入到用户计算机中的小文本文件。每当计算机通过浏览器请求一...
  • Cym_summer
  • Cym_summer
  • 2016年05月24日 15:02
  • 2057

老生常谈cookie跨域

很早之前就做过跨域设置cookie的项目了,但是以前没有做好积累,今晚花了点时间重新复习一下。 OK,有两个域名,www.a.com和www.b.com,现在要通过a网站来设置b网站下的cookie...
  • caiknife
  • caiknife
  • 2013年04月12日 22:50
  • 3011

php cookie用法之 setcookie()函数

setcookie(PHP 3, PHP 4, PHP 5) setcookie -- 发送一个 cookie 信息 说明bool setcookie ( string name [, strin...
  • tingliting
  • tingliting
  • 2016年06月05日 20:31
  • 256

[PHP开发] 关于header setcookie session_start 3个函数的怪问题

使用 header setcookie session_star 这3个函数之前如果有输出都会发生一个警告,但我的就杯具了 代码如下: echo 'my name is xiaoan'; setco...
  • liaozhongping
  • liaozhongping
  • 2015年07月19日 10:52
  • 372

php官方对setcookie的说明

地址:http://ca.php.net/manual/en/function.setcookie.php 定义:bool setcookie ( string $name [, string $v...
  • shyandsy
  • shyandsy
  • 2011年11月21日 09:31
  • 7427

php的setcookie使用详解

# setcookie(name, value, expire, path, domain); // is a function for set cookie but path and domain ...
  • woshihaiyong168
  • woshihaiyong168
  • 2016年10月09日 12:01
  • 244

php setcookie 之 Cannot modify header information 解决方法

今天重新回顾一下PHP,其中设置cookie的时候遇到如下问题:Warning: Cannot modify header information - headers already sent by....
  • EthanQ
  • EthanQ
  • 2011年11月20日 14:04
  • 473

PHP setcookie()用法

定义和用法setcookie() 函数向客户端发送一个 HTTP cookie。cookie 是由服务器发送到浏览器的变量。cookie 通常是服务器嵌入到用户计算机中的小文本文件。每当计算机通过浏览...
  • sinat_31659933
  • sinat_31659933
  • 2015年10月06日 03:50
  • 387

JS----setCookie,getCookie,delCookie

setCookie,getCookie,delCookie
  • damys
  • damys
  • 2015年11月09日 14:14
  • 5364
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP setcookie() 函数
举报原因:
原因补充:

(最多只允许输入30个字)