📜  在 php 中获取 cookie(1)

📅  最后修改于: 2023-12-03 15:07:45.760000             🧑  作者: Mango

在 PHP 中获取 Cookie

在 PHP 中,可以通过 $_COOKIE 变量来获取当前页面可用的所有 Cookie。Cookie 是通过 HTTP 响应头部 Set-Cookie 字段设置的,浏览器会将它保存并在每次请求时发送给服务器端。在 PHP 中,可以通过设置 setcookie() 函数来设置 Cookie。以下是获取 Cookie 的方法:

<?php
// 检查名为 "user" 的 Cookie 是否存在
if(isset($_COOKIE["user"])) {
    echo "Welcome " . $_COOKIE["user"] . "!";
} else {
    echo "Sorry... Not recognized.";
}
?>

上述代码中,只需检查 $ _COOKIE 是否包含所需的 Cookie 的名称即可。如果存在,则可以使用 Cookie 的值执行任何操作。

除了 $ _COOKIE,您还可以使用 $_REQUEST$_SESSION 来访问 Cookie 的值。请注意,将 Cookie 值存储在 $_REQUEST$_SESSION 中并不安全,因为它们易于通过跨站点脚本攻击(XSS)进行窃取。

<?php
// 将 Cookie 值分配给 Session 变量
if(isset($_COOKIE["user"])) {
    $_SESSION["user"] = $_COOKIE["user"];
    echo "Welcome back " . $_SESSION["user"] . "!";
} else {
    echo "Sorry... Not recognized.";
}
?>

使用 $_REQUEST$_SESSION 时,可以像下面这样获取 Cookie。

<?php
if(isset($_REQUEST["user"])) {
    // 获取 POST 或 GET 请求中的 Cookie
    echo "Welcome " . $_REQUEST["user"] . "!";
} else {
    echo "Sorry... Not recognized.";
}
?>