Я использую этот код, чтобы изменить значение cookie в php или установить его, если он еще не существует:
setcookie('maintenance_site_contact_failed', '1', time()+3600, '/', 'entwicklung');
И я использую этот код для установки cookie в javascript:
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 maintenance_site_contact_failed
в сценарии PHP на 1
, чтобы клиент знал, что произошла ошибка.
Затем javascript проверяет значение cookie, а если значение cookie равно 1
, то он показывает ошибку и сбрасывает значение cookie в 0
.