我使用这段代码来更改 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
。
最佳答案
看起来您的 cookie 仅适用于不同的子域,因为在 php 等效项中,您正在为 domain 参数分配一个值。 尝试在 Javascript setCookie 函数中执行相同的操作:
document.cookie = name + "=" + (value || "") + expires + "; path=/; domain=entwicklung";
关于javascript - 如何通过 php 设置/更改 cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56184004/