PHP定时禁令?

PHP定时禁令?,php,mysql,ip,timed,Php,Mysql,Ip,Timed,我制作了一个ban脚本,它更新了成员列表,并在username=$\u POST[username] 但现在我想做定时禁令,比如如果一个用户被禁止一天,他将在他的禁令时间后被取消禁令 有人知道我怎么做吗?我对MySQL和times不太在行。只需将该列更改为类似“BannedUntil(datetime)”的内容,将其设置为未来的某一天: UPDATE Users SET BannedUntil = DATE_ADD(NOW(), INTERVAL 1 DAY) WHERE username =

我制作了一个ban脚本,它更新了成员列表,并在username=$\u POST[username]

但现在我想做定时禁令,比如如果一个用户被禁止一天,他将在他的禁令时间后被取消禁令


有人知道我怎么做吗?我对MySQL和times不太在行。

只需将该列更改为类似“BannedUntil(datetime)”的内容,将其设置为未来的某一天:

UPDATE Users SET BannedUntil = DATE_ADD(NOW(), INTERVAL 1 DAY) WHERE username = <username>
更新用户设置BannedUntil=DATE\u添加(现在(),间隔1天),其中用户名=
并检查用户是否被禁止

SELECT 1 FROM Users WHERE BannedUntil > NOW() AND username = <username>
从BannedUntil>NOW()和用户名=

如果我们返回一行,该用户将被禁止,否则将被禁止。

您可以保存禁止时间和禁止持续时间

伪代码:

if (current_date == ban_time + ban_duration) { unban_user }

您必须保存禁止时间(unix时间戳字段或日期时间)和禁止持续时间,当用户尝试登录时,您只需检查禁止后经过的时间,如果禁止时间已过,则更新行,并将禁止列设置为“否”

存储用户被禁止的时间和禁止持续时间。当用户试图访问任何需要知道他或她是否被禁止的页面时——显示“你被禁止”消息或诸如此类的信息——查询数据库中的用户信息。如果他被禁赛,将禁赛时间添加到禁赛时间中,并将其与您当前的时间进行比较。如果你通过了计算时间,你可以解除禁令

这是危险的
SET banked=Yes,其中username=$\u POST[username]
您需要在将代码放入sql语句之前清洗代码。