【问题标题】:Can I display all the cookies I set in PHP?我可以显示我在 PHP 中设置的所有 cookie 吗?
【发布时间】:2012-03-23 12:54:16
【问题描述】:

我正在尝试诊断我的 cookie 中的错误,但 cookie 的名称不是应有的名称。 PHP 中有没有办法打印我的域设置的所有 cookie?

【问题讨论】:

  • 您可以尝试echo json_encode($_COOKIE); 将所有 cookie 整齐地打印为 json。
  • +1 赞成问答 - 可用作为 GDPR 编写自己的 cookie 通知横幅的基础。

标签: php debugging cookies


【解决方案1】:

你试过了吗:

print_r($_COOKIE)

【讨论】:

    【解决方案2】:

    <pre><?php print_r( $_COOKIE ); ?></pre> 会做你想做的事。你也可以试试phpinfo()

    【讨论】:

      【解决方案3】:
      foreach ($_COOKIE as $key=>$val)
        {
          echo $key.' is '.$val."<br>\n";
        }
      

      【讨论】:

      • 嗨,这仅显示我设置的 cookie,其他 cookie 呢(其他网站,例如亚马逊等保存在我的浏览器中)。请回复
      • @Usman 这超出了所问问题的范围。其他网站设置的 Cookie 将无法用于您的 PHP 脚本。如果您以用户身份询问,请尝试在Super User 中询问,请务必指定您的操作系统和浏览器。
      【解决方案4】:
      if($_COOKIE) {
        print_r($_COOKIE);     //print all cookie
      }
      else
      {
         echo "COOKIE is not set";    
      }
      

      【讨论】:

        【解决方案5】:

        您可以通过运行以下 php 函数来显示所有定义的 cookie:

        var_dump($_COOKIE);
        

        【讨论】:

          【解决方案6】:

          与任何输入一样,安全实践应包括过滤和验证。由于所有 cookie 都是字符串,因此请清理字符串:

          var_dump(filter_input_array(INPUT_COOKIE, FILTER_SANITIZE_STRING, FILTER_REQUIRE_ARRAY))
          

          PHP 文档:https://www.php.net/manual/en/function.filter-input-array.php

          【讨论】:

            【解决方案7】:

            echo $_COOKIE["cookie_name"]; // Print an individual cookie

            print_r($_COOKIE); // Another way to debug/test is to view all cookies

            【讨论】:

              【解决方案8】:
              if($_COOKIE) {
                 foreach ($_COOKIE as $key=>$val)
                 {
                     echo $key.' is '.$val."<br>\n";
                 }
              }
              else
              {
                  echo "No Cookies are Set";    
              }
              

              这将检查是否设置了任何 cookie,如果找到将遍历每个并打印出 cookie 名称和值

              【讨论】:

              • 并且只访问我手动设置的cookie并忽略其余的,您可以使用的一种方法是将所有键放入您的Php中的一个数组中并遍历$_COOKIE列表并检查如果键匹配,如果匹配则忽略。
              猜你喜欢
              • 2016-05-18
              • 2021-08-16
              • 2014-12-21
              • 1970-01-01
              • 2012-02-03
              • 2012-04-24
              • 2013-08-27
              • 2016-12-16
              • 1970-01-01
              相关资源
              最近更新 更多