【问题标题】:php Cookies do not reset on some pagesphp Cookies 不会在某些页面上重置
【发布时间】:2018-05-07 00:35:22
【问题描述】:

我正在处理登录页面。 当您登录您的姓名时,您的排名将保存在 cookie 中,计时器为 300(5 分钟)。现在,当您注销您的帐户时,您将进入您的 cookie 将被重置的注销页面,然后您将进入登录页面。现在,当您获得管理页面的链接时,您可以在 5 分钟前有管理员登录时进入它。所以我所做的是我在登录页面上为你的排名做了一个回应,但它什么也没显示。但是当我转到管理页面的链接时,它说我是管理员,而我没有登录。有谁知道为什么会这样? 我在这里得到了一些打印屏幕(变量是荷兰语)。

When you are logged in it will look in the database what your rank is (Rechten)

Here is when you are on the admin page

我希望任何人都可以帮助解决这个问题。如果您需要更多信息,请询问。

【问题讨论】:

  • 您是否考虑过将名称和排名存储在会话数组中?
  • SpacePhoenix 很好,我第一次这样做,但我想要它,所以当你不活跃时,比你注销。
  • 当有人注销时,您可以从会话数组中取消设置
  • 是的,我知道,但它没有计时器。当您登录一个站点并且您只是查看该页面但在一段时间内没有单击任何内容时,您会自动注销。这就是我想要的,我不认为你可以通过会话来做到这一点。
  • 如果您可以访问 cron 作业,则可以每隔 10 分钟运行一次 cron 作业,这将注销在过去 10 分钟内未点击任何内容的任何人

标签: php cookies reset


【解决方案1】:

不确定您之前是否这样做过,但在注销页面上您应该取消设置 cookie,如下所示。

unset($_COOKIE[$cookie_name]);

Or 

$res = setcookie($cookie_name, '', time() - 300);

如果有帮助,请告诉我们。

【讨论】:

  • 是的,我做到了,当您单击注销按钮时,您将被发送到此代码所在的注销页面: 比你要去索引。在索引上,我有一个 cookie rechten 的回声。并没有说什么。所以cookie不见了,但是当我没有登录就进入管理站点时,它说我得到了cookie...
猜你喜欢
  • 2019-01-23
  • 1970-01-01
  • 2017-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多