设置 cookie 失效时间是保持 Web 应用程序状态的关键技术之一。下面是如何在 PHP 中设置指定时间失效的 cookie 的完整攻略:
要在 PHP 中设置 cookie,可以使用 setcookie()
函数。该函数的语法如下:
setcookie(name, value, expire, path, domain, secure, httponly);
参数 | 描述 |
---|---|
name |
必需,cookie 的名称 |
value |
必需,cookie 的值 |
expire |
可选,cookie 过期的 UNIX 时间戳 |
path |
可选,cookie 的路径 |
domain |
可选,cookie 的域名 |
secure |
可选,是否只能通过 HTTPS 连接传递 cookie |
httponly |
可选,是否只能通过 HTTP 协议访问 cookie |
为了设置一个具有失效时间的 cookie,需要传递 expire
参数来设置过期时间。在 PHP 中,expire
参数必须是 UNIX 时间戳。
以下是一个示例:
setcookie("username", "John", time()+3600); // cookie将在一个小时后失效
上面的代码创建了名为 username
值为 John
的 cookie,并将其设置为在一个小时后失效。
要读取 cookie,可以使用 $_COOKIE
超全局变量。该变量是一个包含了当前所有 cookie 的关联数组。
以下是一个示例:
echo $_COOKIE["username"];
上面的代码将读取名为 username
的 cookie 的值,并将其打印到页面上。
以下是一个示例,演示如何在登录页中创建一个带有失效时间的 cookie,并检查用户是否选择了“记住我”的选项:
if ($_POST["remember_me"] == "on") {
// 如果用户选择了“记住我”的选项,则设置 cookie 失效时间为 7 天
setcookie("username", $_POST["username"], time()+7*24*3600);
} else {
// 否则,设置 cookie 失效时间为浏览器关闭时
setcookie("username", $_POST["username"]);
}
上面的代码将创建一个名为 username
值为用户输入的用户名的 cookie,并根据用户选择的选项设置其过期时间。如果用户选择了“记住我”的选项,则过期时间为 7 天后,否则为浏览器关闭时。
以下是一个示例,演示如何在注销页中删除 cookie:
setcookie("username", "", time()-1);
上面的代码将删除名为 username
的 cookie,并将其过期时间设置为一个过去的时间戳,从而使浏览器将其视为已过期并不再保存。
本文链接:http://task.lmcjl.com/news/9923.html