【发布时间】:2015-09-03 13:17:48
【问题描述】:
我有一个非常基本的 PHP 聊天系统。 post 唯一要做的就是在 log.html 中添加一行 $user 和 $message。
但用户可以通过按住 enter 或多次按 enter 来发送垃圾邮件。这会导致网站延迟。
我想制作一个大约 0.3 秒的冷却系统。 如果处于冷却状态,请不要让用户发布或禁用输入 0.3 秒。
我该怎么做?
这里是我的代码:
index.php 包含两件事。 “log.html”和这些代码
<form name="message" action="">
<div class="input-group dropup" id="bottom">
<input type="usermsg" type="text" id="usermsg" maxlength="65" autocomplete="off" class="form-control" placeholder="Type your message here.">
<span class="input-group-btn">
<button class="btn btn-success" type="submit" name"submitmsg" id="submitmsg">Send</button>
</span>
</div>
</form>
而post.php包含这些代码
<?
session_start();
if(isset($_SESSION['name'])){
$text = $_POST['text'];
$sp = fopen("player_log.html", 'a');
fwrite($sp, "<div class='msgln'>[" .date("Y-m-d"). "-".date("g:i A"). " | " .$_SERVER['REMOTE_ADDR']."] <b>".$_SESSION['name']."</b>: ".stripslashes(htmlspecialchars($text))."<br></div>");
fclose($sp);
// SOME str_replace CODES FOR EMOTICONS, BANNED TEXTS ETC..
$fp = fopen("log.html", 'a');
fwrite($fp, "<div class='msgln' style='color: #BDBDBD;'><b style='color: #FFBF00;'>[Player] ".$_SESSION['name'].":</b> ".$finaltext."<br></div>");
fclose($fp);
}
?>
【问题讨论】: