首页博客网络编程
如何正确使用 PHP setcookie 函数和使用 cookie
摘要 Cookie 是网站存储在其用户计算机中的文件。 Cookie 允许网络应用程序识别其用户并跟踪其活动。 为了设置cookie,使用PHP。setcookie() 要查看是否设置了 cookie,请使用 PHP 函数。isset()

Cookie是一个小文件,用于跟踪用户的在线行为并根据此信息自定义网站。PHP setcookie() 函数准备一个要与其他 HTTP 标头一起传输的 cookie。

内容

PHP 设置饼干:主要提示

  • PHP 开发人员设置 cookie 以通过用户的浏览习惯用户名识别用户。

  • Cookie 是嵌入在用户个人计算机上的小文档。每次在同一台计算机上加载 Web 应用程序时,它都会使用 Cookie 数据。

  • PHP 允许您检索创建 cookie 数据。您将最常使用的函数是 PHP 和 .setcookie()isset()

setcookie() 函数的使用

在创建 cookie 时,以下是 PHP 函数最常见的参数:setcookie

setcookie(name, value, expire, path, domain, secure);

看看 PHP 如何设置 cookie:

复制

  setcookie('our_cookie', 'current', time() + 3600, '/');?>
            if(count($_COOKIE) > 0) {      ﻩ
        echo "Enabled.";
      } else {         echo "Disabled.";
      }  ﻩ
    ?>

提示:PHP cookie 必须在任何其他脚本输出之前传输。此规则意味着您需要在  和  元素之前调用 PHP setcookie() 函数。

所有参数及其用途的说明:

参数定义
名字PHP cookie 的名称。必填。
价值指定变量的值。可选,但建议包括。
到期饼干的到期日期。自选。如果省略,Cookie 将在会话结束时过期。
路径Cookie 在其中工作的目录。自选。如果设置为 /,则 Cookie 在整个域中有效。/foo/ 将 cookie 设置为在 /foo/ 目录及其子目录中工作。如果省略,cookie 将在发送到的目录中工作。
Cookie 在其中工作的域名。自选。
安全传输类型(如果 HTTP,则为 0,如果为 HTTPS,则为 1)。自选。
仅 httponly如果为 true,则 cookie 只能通过 HTTP 协议使用。
选项可能包含任何键的关联数组:过期、域、路径、安全、httponly 和 samesite。

注意:cookie 值在发送特定 cookie 时自动进行 URL 编码,并在收到后进行解码。如果您希望避免URLenco,请使用setrawcookie()。

修改饼干

修改现有的 PHP cookie,请使用您用于制作 PHP set cookie 的相同 PHP 函数:setcookie()

复制

  $name = 'user_cookie';
  $value = 'Alexander Portman';  ﻩ
  setcookie($name, $value, time() + (86400 * 80), '/');?>
            if(!isset($_COOKIE[$name])) {    
        echo "Cookie called '" . $name . "' has not been set!";
      } else {         echo "Cookie '" . $name  . "' has been set!
";    
        echo "Value in cookie is: " . $_COOKIE[$name];
      }    ?>

删除饼干

PHP函数也可以删除cookie。诀窍是设置过去的到期日期。饼干过期:setcookie()

复制

  // set the expiration date to one hour ago
  setcookie('user_cookie', '', time() - 3600);?>
            echo "Cookie called 'user_cookie' has been deleted.";    ?>

创建和检索的方法

下面的代码生成一个名为 user_cookie 的 cookie 以及 Johny Dawkins 的值。从现在起,Cookie 的有效期为 80 天(86400 * 80 - 86400 是一天中的秒数)。

复制

  $name = 'user_cookie';
  $value = 'Johny Dawkins';
  setcookie($name, $value, time() + (86400 * 80), '/');  // 86400 = 1 day?>
            if (!isset($_COOKIE[$name])) {    
        echo "Cookie called '" . $name . "' has not been set!";
      } else {         echo "Cookie '" . $name  . "' has been set!
";    
        echo "Value in cookie is: " . $_COOKIE[$name];
      }    ?>

我们可以使用调用的全局变量来检索存储在user_cookie中的值。PHP 检查是否设置了 cookie。$_COOKIEisset()

提醒:如果您检测到 PHP setcookie 不起作用,请确保它出现在代码中的  元素之前,并且 set path 参数是正确的。

检查是否启用了饼干

isset在PHP中会告诉你是否设置了cookie。但是,您仍然需要知道它们是否已启用?下面的示例显示了如何在脚本中检查它。

首先,尝试使用 PHP 函数创建一个测试 cookie。然后计算数组:setcookie()$_COOKIE

复制

  setcookie('our_cookie', 'current', time() + 3600, '/');?>
            if(count($_COOKIE) > 0) {      ﻩ
        echo "Enabled.";
      } else {         echo "Disabled.";
      }  ﻩ
    ?>

PHP setcookie: 摘要

  • Cookie 是网站存储在其用户计算机中的文件

  • Cookie 允许网络应用程序识别其用户跟踪其活动。

  • 为了设置cookie,使用PHP。setcookie()

  • 要查看是否设置了 cookie,请使用 PHP 函数。isset()


声明提示:若要转载请务必保留原文链接,申明来源,谢谢合作!

本文链接:https://www.gaoxuejun173.top/blog/155

广告位

本文配乐
来说两句吧

该文章已禁止评论

最新评论

广告位