您的位置:首页 > 编程语言 > PHP开发

如何使用PHP操作cookie

2013-12-04 18:59 537 查看
PHPsetcookie()函数向客户端发送一个HTTPcookie。cookie是由服务器发送到浏览器的变量。cookie通常是服务器嵌入到用户计算机中的小文本文件。每当计算机通过浏览器请求一个页面,就会发送这个cookie。cookie的名称指定为相同名称的变量。例如,如果被发送的cookie名为"name",会自动创建名为$user的变量,包含cookie的值。

必须在任何其他输出发送前对cookie进行赋值。如果成功,则该函数返回true,否则返回false。

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:

1
<?php
2
$value
=
"mycookievalue"
;
3
//发送一个简单的cookie
4
setcookie(
"TestCookie"
,
$value
);
5
?>
01
<html>
02
<body>
03
...
04
...
05
<?php
06
$value
=
"mycookievalue"
;
07
//发送一个24小时候过期的cookie
08
setcookie(
"TestCookie"
,
$value
,time()+3600*24);
09
?>
10
<html>
11
<body>
程序2:

检索cookie值的不同方法:

01
<html>
02
<body>
03
<?php
04
//输出个别的cookie
05
echo
$_COOKIE
[
"TestCookie"
];
06
echo
"<br/>"
;
07
echo
$HTTP_COOKIE_VARS
[
"TestCookie"
];
08
echo
"<br/>"
;
09
//输出所有cookie
10
print_r(
$_COOKIE
);
11
?>
12
</body>
13
</html>
程序输出:

1
mycookievalue
2
mycookievalue
3
Array([TestCookie]=>mycookievalue)
程序3:

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

1
<?php
2
//把失效日期设置为一小时前
3
setcookie(
"TestCookie"
,
""
,time()-3600);
4
?>
程序4:

创建一个数组cookie:

01
<?php
02
setcookie(
"cookie[three]"
,
"cookiethree"
);
03
setcookie(
"cookie[two]"
,
"cookietwo"
);
04
setcookie(
"cookie[one]"
,
"cookieone"
);
05
//输出cookie(在重载页面后)
06
if
(isset(
$_COOKIE
[
"cookie"
]))
07
{
08
foreach
(
$_COOKIE
[
"cookie"
]
as
$name
=>
$value
)
09
{
10
echo
"$name:$value<br/>"
;
11
}
12
}
13
?>
程序输出:

1
three:cookiethree
2
two:cookietwo
3
one:cookieone
程序5:

viewsource

print?

1
/**
2
*01.cookie设置
3
**/
4
function
ssetcookie(
$var
,
$value
,
$life
=0){
5
global
$_SGLOBAL
,
$_SC
,
$_SERVER
;
6
setcookie(
$_SC
[
'cookiepre'
].
$var
,
$value
,
$life
?(
$_SGLOBAL
[
'timestamp'
]+
$life
):0,
$_SC
[
'cookiepath'
],
$_SC
[
'cookiedomain'
],
$_SERVER
[
'SERVER_PORT'
]==443?1:0);
7
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: