.

PHP Cookie16

文章作者:eKing
发表时间:2016年11月18日 19:14
浏览次数:282

PHP Cookie

cookie 是服务器留在用户计算机中的小文件,网站可以用它来识别访问网站的计算机。

创建 cookie

通过 setcookie() 函数来创建一个 cookie ,成功返回 TRUE ,否则返回 FALSE 。

语法:

bool setcookie( string name [, string value [, int expire [, string path [, string domain ]]]] )

参数说明: 参数 说明

name cookie 名称

value 可选,cookie 值

expire 可选,过期时间,时间戳格式

path 可选,服务器端有效路径,/ 表示整个域名有效,默认为当前设置 cookie 时页面的路径

domain 可选,该 cookie 有效的域名

创建 cookie 的例子:

<?php

setcookie("username", "xiaoli", time()+3600);

?>

在该例子中,我们设置了一个名称为 username 的cookie,其值为 xiaoli ,并在1小时候后过期。如果时间也被省略,cookie 将会在会话结束后(一般是浏览器关闭)失效。

cookie 会以一定格式被存储在用户计算机特定位置。

一个更完整的例子:

<?php

setcookie("username", "xiaoli", time()+3600, "/", ".5idev.com");

?>

该例子使用了 path 和 domain 参数,即在 5idev.com 域名的 / 路径下该 cookie 都有效(即全站有效)。

读取 cookie

PHP 内置了 $_COOKIE 变量以访问设置的 cookie 值。

例子:

<?php

echo $_COOKIE["username"]; //输出 xiaoli

?>

使用 isset() 函数来检测 cookie 变量是否已经被设置:

<?php

if (isset($_COOKIE["username"])) {

echo "欢迎你: ".$_COOKIE["username"];

} else {

echo "请登陆";

}

?>

销毁 cookie

可以通过设置 cookie 过期时间为以前的时间点来销毁一个 cookie :

<?php

setcookie("username", "", time()-3600);

?>

提示

由于协议限制,在设置 cookie 之前,不能有任何内容向浏览器输出

cookie 不会在设置的当前页生效,要访问设置的 cookie ,必须是另一个页面在过期之前访问

由于 cookie 信息存储于用户的计算机中,那么就有可能伪造 cookie 从而造成 cookie 欺骗,一般可以对 cookie 的值进行加密来预防欺骗。读取 cookie 的时候,对 cookie 解密即可

上一篇:PHP 目录15
下一篇:PHP Session17