【问题标题】:Add cookie that lasts as long as browser is open添加在浏览器打开时持续存在的 cookie
【发布时间】:2016-03-18 21:53:15
【问题描述】:

您好,当您访问我的网站时,我进行了年龄验证。当您足够大时,您可以通过年龄验证,但问题是,每次您再次转到该页面时,都会再次显示年龄验证 - 它应该。在浏览器关闭之前,用户不必再次进行年龄验证。任何人都可以帮助我吗?如果应该在其中添加 cookie,我有这个 javascript。

if(age > 18){
COOKIE HERE
}

【问题讨论】:

  • 在这种情况下,您可能需要查看会话变量。
  • 如果你不指定cookie的过期日期,它将成为一个会话cookie。谷歌它!

标签: javascript php cookies


【解决方案1】:

如果您在设置 cookie 时没有指定过期值,cookie 将在浏览器关闭时自动删除,例如。

setcookie("TestCookie", $value);

希望对你有帮助:)

【讨论】:

  • 可以,谢谢!但是我该如何检查,如果有 cookie 呢?它需要首先检查 cookie,如果找到,则根本不应该显示年龄验证 :-)
  • 或者我如何获取cookie,以便检查它是否为空白或类似的东西?
  • 你可以使用 if(isset($_COOKIE["TestCookie"])) {}
  • 我已经看过那个页面了,但是我不能让它和我的javascript一起工作。当 if 正确时:(if (age > 18)) 那么它应该设置一个 cookie。再次访问该页面时,cookie 应确保您不必再次输入您的年龄。
  • 我认为 OP 需要 JavaScript 来设置 cookie。不知道为什么这是用 PHP 标记的。
【解决方案2】:

当 cookie 没有持续时间时,默认行为是在浏览器退出时将其删除。检查示例。

if(age > 18){
    document.cookie="unrestricted=true"; 
} //This is to set the cookie after some sort of "promise" from the user that they are over 18

然后您可以检查 cookie 是否已设置。

if (document.cookie.indexOf("unrestricted=true;") >= 0) {
   alert("Unrestricted access");
}

如需更完整的 cookie 教程,请查看http://www.w3schools.com/js/js_cookies.asp

【讨论】:

    猜你喜欢
    • 2012-08-31
    • 1970-01-01
    • 2017-07-09
    • 2019-04-12
    • 1970-01-01
    • 2016-09-10
    • 1970-01-01
    • 2016-06-02
    • 2019-10-20
    相关资源
    最近更新 更多