ウェブページの各投稿の下に「いいね」ボタンがあります。ユーザーが「LIKE」ボタンをクリックすると、AJAX を介して GET 要求が like.php ページに送信され、mysql データベース テーブルに行が挿入されます。ユーザーが LIKE ボタンをクリックすると、LIKE ボタンは消えます。
ユーザーが「LIKE」ボタンをクリックしてから 3 秒の遅延が発生するようにしたいと考えています。ユーザーが投稿の「いいね」ボタンをクリックし、すぐに 2 番目の投稿の「いいね」ボタンをクリックした場合、この期間が 3 秒未満の場合、「いいね」ボタンのプロセスは拒否されます。
さて、問題は、このチェックをクライアント側またはサーバー側のどこに置くべきかということです。One Server Sideの場合、解決策が頭に浮かびます。
このコードを like.php ページに入れることを考えました
if(isset($_SESSION["last_like_time"]))
{
$last_like_time = $_SESSION["last_like_time"];
$time_diff = time()-$last_like_time;
if($time_diff<3)
{
die("ERROR: You must wait at least " . (3 - $time_diff) . " seconds to Like another Post");
}
$_SESSION["last_like_time"] = time();
}
else
{
$_SESSION["last_like_time"] = time();
}
私の質問は、これはサーバー側で時差を確認する効率的な方法ですか? そうでない場合、どちらが最善の方法ですか?
2 番目の質問です。サーバー側に行かずにクライアント側でこのアクションを実行するにはどうすればよいですか?