Heim  >  Artikel  >  Backend-Entwicklung  >  PHP setcookie用法

PHP setcookie用法

PHP中文网
PHP中文网Original
2017-03-23 17:13:162250Durchsuche

定义和用法

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

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

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

对 cookie 进行赋值之前不能有任何输。如果成功,则该函数返回 true,否则返回 false。

注意:cookie设置以后必须刷新以后才能生效。

语法

  1. 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);

?>

<?php

$value ="my cookie value";

// 发送一个 24 小时候过期的 cookie

setcookie("TestCookie",$value, time()+3600*24);

?>

例子 2

检索 cookie 值的不同方法:

// 输出个别的 cookie

echo $_COOKIE["TestCookie"];

echo "
";

echo $HTTP_COOKIE_VARS["TestCookie"];

echo "
";

// 输出所有 cookie

print_r($_COOKIE);

?>

输出:

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

例子 3

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

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

例子 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 
";
}
}
?>

输出:

three : cookiethree
two : cookietwo
one : cookieone

例子 5

关于设置cookie后不生效的问题。通常是没设置作用域的原因

<?php
setcookie("a","bb",time()+3600,"/",".hi-docs.com");
// 注意把域名设置为自己的
?>

以上就介绍了PHP setcookie用法,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

相关文章:

请问setcookie不设定到期时间,设定路径该怎么写?

php setcookie函数失效

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:php面试题分享Nächster Artikel:php:图像处理---立体饼状图