【问题标题】:How to set/change a cookie via php?如何通过 php 设置/更改 cookie?
【发布时间】:2019-05-17 09:57:03
【问题描述】:

我使用这段代码来改变php中的cookie值,或者如果它还不存在就设置它:

setcookie('maintenance_site_contact_failed', '1', time()+3600, '/', 'entwicklung');

我正在使用这段代码在 javascript 中设置一个 cookie:

setCookie('maintenance_site_contact_failed', '0', 1);

function setCookie(name,value,days)
{
    var expires = "";
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days*24*60*60*1000));
        expires = "; expires=" + date.toUTCString();
    }
    document.cookie = name + "=" + (value || "")  + expires + "; path=/";
}

但正如您在以下屏幕截图中看到的那样,cookie 是第二次创建的,而不是更改现有的,但重复的域名中有一个点。

为什么会有一个点,为什么 cookie 会创建两次?


我的尝试: 如果用户发送我的表单并且在服务器端验证失败,那么 我将 PHP 脚本中的 cookie maintenance_site_contact_failed 设置为 1,以便客户端知道发生了错误。

javascript然后检查cookie的值,如果cookie值为1,则显示错误并将cookie值重置为0

【问题讨论】:

    标签: javascript php cookies


    【解决方案1】:

    看起来您的 cookie 仅适用于不同的子域,因为在 php 等效项中,您为 domain 参数分配了一个值。 尝试在 Javascript setCookie 函数中做同样的事情:

    document.cookie = name + "=" + (value || "") + expires + "; path=/; domain=entwicklung";
    

    【讨论】:

      猜你喜欢
      • 2012-07-21
      • 1970-01-01
      • 2015-10-17
      • 1970-01-01
      • 2011-05-16
      • 2010-12-12
      • 2011-03-02
      • 2017-03-27
      • 2013-12-18
      相关资源
      最近更新 更多