php mysql - 试图为用户可以发布的内容添加时间限制

Jer*_*eed 2 php mysql time

我是新手使用php,但这里是我的问题:

我正在一个用户可以将内容发布到服务器的网站上.我正在尝试为用户发布的频率添加5分钟的限制.每次用户发布时,都会使用CURRENT_TIMESTAMP()更新数据库中其行上的字段

我想做的是检查他们发布多久以前的内容,如果不到5分钟前它就不允许他们发布.

我认为它看起来像这样:

<?php

$query = "SELECT * FROM Users_table WHERE Username = '$username'";
$result = mysql_query($query);

if (($result['last_post']-now())<=5minutes) {

echo "Please wait 5 minutes before you can post again.";

} else {

code to let user post

}

?>
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是我不知道时间如何运作得很好,不知道5分钟会是多长时间.

任何帮助深表感谢.

Ja͢*_*͢ck 6

您也可以使用会话,而不是使用数据库:

session_start();
if (isset($_SESSION['last_post']) && $_SESSION['last_post'] + 300 >= time()) {
    echo "sorry, please wait for 5 minutes before next post";
} else {
    // do your post here
    $_SESSION['last_post'] = time();
}
Run Code Online (Sandbox Code Playgroud)

它将添加一个会话变量,用于跟踪此会话中的最后一个帖子; 每次发布值都会更新.

当最后一次+ 5分钟是将来,那么自上一篇文章以来还没有5分钟.