在 PHP 中删除 Cookie
本文将介绍几种在 PHP 中删除 cookie 的方法。首先,我们将设置 cookie,然后将其删除。
在 PHP 中使用 setcookie()
函数设置 Cookie
setCookie()
函数设置和删除 cookie。
语法:
setcookie($name, $value, $expiry, $path, $domain, $secure, $httponly);
$name
是 cookie 的名称。$value
是存储在客户端系统中的 cookie 的内容或值。$expiry
是 cookie 过期的时间。单位是第二。$path
是服务器上表示 cookie 可用性的路径。例如,如果$path
设置为/
,则 cookie 将在网站的域中可用。$domain
是 cookie 可用的域或子域。$secure
确保 cookie 在设置为true
时通过安全的 HTTPS 连接从客户端传输。$httponly
确保 cookie 在设置为true
时只能通过HTTP
协议访问。
让我们创建一个 cookie 和变量 $cookie_name
、$cookie_value
和 $cookie_expiry
来存储 cookie 名称、值和到期时间。
为每个变量分配 username
、Sam
和 time()+3600
。接下来,使用 setcookie()
方法并按顺序提供这些变量。
接下来,使用全局变量 $_COOKIE
访问 $cookie_name
。
$cookie_name = "username";
$cookie_value = "Sam";
$cookie_expiry = time() + 3600;
setcookie($cookie_name, $cookie_value, $cookie_expiry);
print_r($_COOKIE[$cookie_name]);
输出:
Sam
因此,我们创建了一个 cookie。cookie 在创建时间一小时后过期,因为 3600
秒等于一小时。
我们可以从检查元素部分看到浏览器中的 cookie 信息。现在,我们将在以下部分中逐步删除 cookie。
在 PHP 中使用 setcookie()
函数删除 Cookie
使用 setcookie()
方法删除 cookie。为此,我们需要保留过去的到期日期。
我们可以使用 isset()
函数在删除 cookie 之前检查 cookie 是否已设置。
例如,使用 isset()
函数中的 $_COOKI[$cookie_name]
变量来检查上面创建的 cookie 是否存在。
在 if
块中,使用 setcookie()
函数。在函数内部,将 $cookie_name
设置为第一个参数。
if(isset($_COOKIE[$cookie_name])) {
setcookie($cookie_name, "", time()-3600);
}
我们为第二个参数写了一个空字符串和 time()-3600
作为到期时间。
由于 time()
函数返回自 Epoch 以来的当前时间(以秒为单位),从中减去 3600
将返回过去的时间。最后,删除带有 $cookie_name
的 cookie。
我们还可以在 setcookie()
函数中使用 $cookie_name
和 null
值来删除 cookie。
if(isset($_COOKIE[$cookie_name])) {
setcookie($cookie_name, null);
}
因此,我们可以使用 setcookie()
函数来删除 PHP 中的 cookie。
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn