我是新手使用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分钟会是多长时间.
任何帮助深表感谢.
您也可以使用会话,而不是使用数据库:
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分钟.
| 归档时间: |
|
| 查看次数: |
435 次 |
| 最近记录: |