什么是setcookie
setcookie是PHP中一个用来设置cookie的函数,即用来给客户端设置 cookie。
Cookie是在浏览器端被存储的键值对,客户端可以将cookie信息存储在本地,下次进入网站时可以将cookie中存储的信息发送给服务器端,以达到保存用户状态和特定操作的目的。在PHP中可以使用setcookie函数来设置cookie,从而实现操作。
setcookie函数的语法
bool setcookie (
string $name,
string $value = \"\",
int $expires = 0,
string $path = \"\",
string $domain = \"\",
bool $secure = false,
bool $httponly = false
)
参数说明:
$name:cookie名称;
$value:cookie值;
$expires:cookie的过期时间;
$path:cookie作用的路径;
$domain:cookie作用域名;
$secure:是否只通过https传输(默认为false);
$httponly:是否只能通过http或https访问(默认为false)。
设置cookie的方法实例
// 设置一个名为username的cookie,值为susan,有效期为一天
setcookie(\"username\", \"susan\", time()+86400);
// 设置一个名为password的cookie,值为123456,有效期为1个小时,作用路径为/,作用域为www.example.com,只通过https传输,而且只能通过http或https访问
setcookie(\"password\", \"123456\", time()+3600, \"/\", \"www.example.com\", true, true);
注:在设置cookie之后,需要刷新页面才能立即生效。
获取cookie的方法
通过使用$_COOKIE超全局变量,可以获取在客户端设置好的cookie的值。
// 获取名为username的cookie的值
echo $_COOKIE[\"username\"];
// 获取名为password的cookie的值
echo $_COOKIE[\"password\"];
注意:
当访问一个已经设置好的cookie时,这个cookie会被自动发送给服务器端,在服务器端可以通过使用$_COOKIE超全局变量来接收这个cookie。
强调:需要注意的是,cookie信息长度有限,最好不要存储大量的数据在cookie中,否则会影响性能。