PHP 中 Cookie 的使用方法
Cookie 是 Web 服务器以文件形式存储在用户浏览器中的一小段信息。创建后,cookie 将作为每个 HTTP 请求的标头信息发送到 Web 服务器。
您可以使用 cookie 来保存任何数据,但它的大小不应超过1K(1024 字节)。
在我们继续讨论如何创建、更新和删除 cookie 之前,让我们了解一些 cookie 的实际使用。
Cookie 的实际使用
存储用户信息,例如他/她访问的时间,网站上访问了哪些页面等,以便用户下次访问您的网站时,您可以提供更好的用户体验。
存储基本的网站特定信息以了解这不是用户的第一次访问。
您可以使用 cookie 来存储访问次数或查看计数器。
我希望这能让您了解如何在 Web 应用程序中使用 cookie。
Cookie 的类型
有两种类型的 cookie,它们是:
会话 Cookie:这种类型的 cookie 是临时的,一旦会话结束或浏览器关闭就会过期。
持久性 Cookie:要使 cookie 持久化,我们必须为其提供过期时间。然后 cookie 只会在给定的过期时间后过期,直到那时它才会是一个有效的 cookie。
用 PHP 创建 Cookie
在 PHP 中,我们可以使用该setcookie()函数创建/设置 cookie 。
下面是函数的语法,
setcookie(name, value, expire, path, domain, secure)
定义cookie名称的第一个参数是强制性的,其余都是可选参数。让我们了解我们可以为setcookie()函数提供哪些可用参数来设置 cookie。
如果我们想创建一个cookie来存储访问过你网站的用户的名字,并设置一个星期的过期时间,那么我们可以这样做,
<?php setcookie("username", "iamabhishek", time()+60*60*24*7); ?>
要访问存储的 cookie,我们使用$_COOKIE全局变量,并且可以使用isset()方法来检查 cookie 是否已设置。
让我们有一个完整的例子,我们将设置一个 cookie,然后检索它以在 HTML 页面中显示它的值。
<?php // set the cookie setcookie("username", "iamabhishek", time()+60*60*24*7); ?> <html> <body> <?php // check if the cookie exists if(isset($_COOKIE["username"])) { echo "Cookie set with value: ".$_COOKIE["username"]; } else { echo "cookie not set!"; } ?> </body> </html>
因此,通过使用全局变量提供方形制动器内 cookie 的名称,$_COOKIE[]我们可以访问 cookie。
注意: setcookie()函数应该放在起始 HTML 标记 ( <html>) 之前。
在 PHP 中更新 Cookie
要更新/修改 cookie,只需再次设置即可。例如,如果我们想更新上面创建的cookie中存储的用户名,我们可以setcookie()再次使用方法来完成,
<?php // updating the cookie setcookie("username", "iamNOTabhishek", time()+60*60*24*7); ?> <html> <body> <?php // check if the cookie exists if(isset($_COOKIE["username"])) { echo "Cookie set with value: ".$_COOKIE["username"]; } else { echo "cookie not set!"; } ?> </body> </html>
我们刚刚更新了值的用户名的cookie从iamabhishek到iamNOTabhishek。
在 PHP 中删除 Cookie
要删除/移除 cookie,我们需要使 cookie 过期,这可以通过使用setcookie()过去的过期日期函数更新 cookie 来完成。
<?php // updating the cookie setcookie("username", "iamNOTabhishek", time() - 3600); ?> <html> <body> <?php echo "cookie username is deleted!"; ?> </body> </html>
有了这个,我们现在知道如何创建 cookie,如何更新它以及如何在我们不再需要它时删除它。