如何通过php设置/更改Cookie?

时间:2019-05-17 09:57:04

标签: javascript php cookies

我使用此代码来更改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,但是重复的域名中有一个点。

cookies

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


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

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

1 个答案:

答案 0 :(得分:1)

您的Cookie似乎仅可用于不同的子域,因为在php等效项中,您为 domain 参数分配了一个值。 尝试在Javascript setCookie函数中执行相同的操作:

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