沃梦达 / IT编程 / 前端开发 / 正文

设置cookie指定时间失效(实例代码)

设置 cookie 失效时间是保持 Web 应用程序状态的关键技术之一。下面是如何在 PHP 中设置指定时间失效的 cookie 的完整攻略:

设置 cookie 失效时间是保持 Web 应用程序状态的关键技术之一。下面是如何在 PHP 中设置指定时间失效的 cookie 的完整攻略:

步骤 1:创建 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,并将其设置为在一个小时后失效。

步骤 2:读取 cookie

要读取 cookie,可以使用 $_COOKIE 超全局变量。该变量是一个包含了当前所有 cookie 的关联数组。

以下是一个示例:

echo $_COOKIE["username"];

上面的代码将读取名为 username 的 cookie 的值,并将其打印到页面上。

示例 1:登录页

以下是一个示例,演示如何在登录页中创建一个带有失效时间的 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 天后,否则为浏览器关闭时。

示例 2:注销页

以下是一个示例,演示如何在注销页中删除 cookie:

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

上面的代码将删除名为 username 的 cookie,并将其过期时间设置为一个过去的时间戳,从而使浏览器将其视为已过期并不再保存。

本文标题为:设置cookie指定时间失效(实例代码)