基本的にこれが行うことは、ユーザーがボタンを押した後、もう一度押すまで 2 分間待たなければならないことです。最初に押すと動作し、2 分前にもう一度押すと「2 分お待ちください」と表示されます。しかし、2分後、私が望むものではなく、エラーなしで何度でも押すことができます。ここにコードがあります
<?php
if('sub') {
$client = $_SERVER['REMOTE_ADDR'];
$username="user";
$password="pass";
$database="db";
mysql_connect(localhost,$username,$password);
$time = strtotime("2 minutes");
$now = strtotime("now");
@mysql_select_db($database) or die( "Unable to select database");
$query = "SELECT Time FROM log WHERE IP='$client'";
$result= mysql_query($query);
$num=mysql_num_rows($result);
while($rows=mysql_fetch_array($result)){
$timestamp = $rows['Time'];
}
echo n;
echo $now;
echo t;
echo $timestamp;
if($now < $timestamp)
{
echo "<center><h2 style=\"color:red\" class=\"texts\" id=\"homeLink\">Please wait 2 minutes.</h2></center>";
}
else{
//some other code
$query1 = "INSERT INTO log VALUES ('$client','$time','$username')";
$query2 = "UPDATE `log` SET `Time`='$time' SET `Username`='$username' WHERE `IP`='$client'";
if($num == 0)
{
mysql_query($query1);
}
else
{
mysql_query($query2);
}
mysql_close();
}
?>
ご覧のとおり、ユーザーの IP の行がない場合は新しい行が作成され、ある場合は更新されます。1 回目以降は機能しなくなります。誰かが助けてくれることを願っています。ありがとう!