【发布时间】:2022-01-31 07:01:32
【问题描述】:
我有一个 php 网站,例如,我需要在一个月后取消订阅一名学生 .. 对于每个学生,我在 mysql 数据库中有一个“订阅”值,它可以是 0(取消订阅)或 1(订阅)。 .我还有一个注册日期,可以知道每个学生一个月后的时间。 问题是,当时如何取消设置“登录”和“订阅”会话?..如何注销该用户?..因为即使我更新数据库并且订阅变为 0 而不是 1 .. 会话不会自行刷新,它会保持 1 ..
谢谢
【问题讨论】:
-
您打算在 1 个月后注销用户吗?如果是,我不推荐它。我可以理解订阅/取消订阅的部分,但登录会话不应该保持那么长时间。我看到网络应用程序通常有 30 分钟左右的不活动注销时间?对于银行应用程序来说,它比这要短得多,可能是 5-10 分钟不活动。
-
我的意思是,如果用户保持登录状态,例如他没有关闭浏览器而只是将其最小化(如在手机中),那么即使“订阅”在数据库中变为零,它将在会话中保持 1(除非用户刷新 + 我有一个 if 语句来检查时间并取消设置会话).. 那么当时间到来时如何强制它刷新?.. 我应该使用阿贾克斯?还是在 php 中有解决方案 ..
-
试试这个stackoverflow.com/questions/39427783/…。这里的关键词是“会话超时”,我想如果你搜索“PHP 会话超时”,你会发现更多关于它的信息。基本上,超时是在用户登录时强加的,因此无论用户是否注销,会话都会超时。我使用的一些网络应用程序会弹出一个窗口,告诉我我的会话超时但有些没有 - 但是当我刷新页面时,它会将我重定向到登录页面。
-
@FanoFN 谢谢,我在发布我的问题之前检查了这个问题,我已经查看了 cmets 和回复,我觉得它不会完全符合我的意图......但是我开始对取消设置会话的想法深信不疑,并让“踢出”直到用户以某种方式刷新......而且,我避免使用 JavaScript 将所有内容保留在服务器上,远离用户使用代码进行的操作。 . 非常感谢