【问题标题】:How to setcookies in Safari Browser如何在 Safari 浏览器中设置 cookie
【发布时间】:2016-04-10 11:53:09
【问题描述】:

我想在 safari 浏览器中设置 cookie.. 我使用如下 php 代码.. 在 mozila 和 chroome 中运行良好。但我无法理解 safari 浏览器有什么问题。

这里是setcookies的简单代码

<!DOCTYPE html>
<?php
    $cookie_name = "user";
    $cookie_value = "John Doe";

    setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day

?>
<html>
    <body>

        <?php
        if (!isset($_COOKIE[$cookie_name])) {
            echo "Cookie named '" . $cookie_name . "' is not set!";
        } else {
            echo "Cookie '" . $cookie_name . "' is set!<br>";
            echo "Value is: " . $_COOKIE[$cookie_name];
        }
        ?>

    </body>
</html>

【问题讨论】:

  • 请在您的问题中提及操作系统...

标签: javascript php cookies safari cross-domain


【解决方案1】:

它不应该在任何浏览器中工作,因为在调用 setcookie 之前您无法发送任何内容,因为您需要在发送内容之前在标头中发送它,如果您启用错误,您应该会收到标头已发送的错误。试试这个:

<?php
    $cookie_name = "user";
    $cookie_value = "John Doe";

    setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day

?>
<!DOCTYPE html>
<html>
    <body>

确保&lt;?php之前没有任何空格

【讨论】:

  • 我检查了它没有任何空格。我已启用所有 php 错误。我无法得到任何错误...我在 mozila 和 chroom 中再次检查了 2 次。我在检查中看到了 cookies 变量和值。我也可以给你看截图。但不需要..
  • 请您需要在 mozila 中运行上述代码。您将在检查元素中看到 cookie。但您使用 safari 运行它。什么都看不见。如果你找到 cookies 变量和值..请给我截图..我试图从 2 das 中解决它。
  • @NiteshPawar 结果表明,如果您启用了 output_buffering stackoverflow.com/a/34633085/387194,则不需要此功能
【解决方案2】:

试试这个

header('Set-Cookie:testcookie=testval; expires=Sat, 23-Sep-2014 11:23:02 GMT; path=/');

【讨论】:

    猜你喜欢
    • 2014-05-07
    • 1970-01-01
    • 2018-10-26
    • 2014-08-10
    • 2020-06-06
    • 2022-12-04
    • 2021-09-30
    • 2019-07-25
    相关资源
    最近更新 更多