javascript - 如何通过 php 设置/更改 cookie?

标签 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

最佳答案

看起来您的 cookie 仅适用于不同的子域,因为在 php 等效项中,您正在为 domain 参数分配一个值。 尝试在 Javascript setCookie 函数中执行相同的操作:

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

关于javascript - 如何通过 php 设置/更改 cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56184004/

相关文章:

javascript - 通过 AJAX 和 PHP MYSQL JSON 到 JavaScript 变量 => 数组未定义

javascript - 在 JavaScript 中迭代分层对象

javascript - 我已经转移到 SSL,现在我的弹出菜单不起作用

php - 使用 PHP 转换为 PDO

php - 从数据库中删除数据时出错

android - 如何使用 CookieManager 删除特定域的 cookie?

ios - native 移动应用程序的 Cookies 和 JWT 之间的显着差异

javascript - 对 JQuery 源的奇怪 RequireJS 调用

php - 将数组值显示为数组中的数字

node.js - Firebase verifySessionCookie() 导致应用程序在部署到 Firebase 时超时,但在本地工作正常