我使用此代码来更改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,但是重复的域名中有一个点。
为什么会有一个点,为什么cookie会创建两次?
我尝试的方法:
如果用户发送了我的表单,并且在服务器端验证失败,则
我将PHP脚本中的Cookie maintenance_site_contact_failed
设置为1
,以便客户端知道发生了错误。
然后javascript检查cookie的值,如果cookie值为1
,则显示错误,并将cookie值重置为0
。
答案 0 :(得分:1)
您的Cookie似乎仅可用于不同的子域,因为在php等效项中,您为 domain 参数分配了一个值。 尝试在Javascript setCookie函数中执行相同的操作:
document.cookie = name + "=" + (value || "") + expires + "; path=/; domain=entwicklung";