私は、ゲームの所有者が表示する画像ごとにポイントを入れて画像を推測する楽しいスクリプトを開発しています。彼が正しいと推測すれば、彼のポイントは2倍になります。彼が推測に失敗した場合、ポイントはゲームの所有者に追加されます。複数回データを追加することを避けることによってページを更新する
この場合、フォームを送信すると、ユーザーが推測した画像とゲームの所有者が表示する画像がページに表示されます。その後、計算が行われます。
私はすべての手順を正しく行っていますが、ユーザーがブラウザの更新ボタンからページを再読み込みすると、計算が何度も繰り返されます。これを避ける方法はありません。
ユーザーがデータを見るべきであるとして、私は
header("location: reditect_page.php");
exit();
を使用することはできません。
誰かが私にこれを解決するように提案できますか?ここで
が私の提出ページです
if(isset($_POST['guess']))
{
//user entered/guessed images
$img1 = $_POST['img1'];
$img2 = $_POST['img2'];
$img3 = $_POST['img3'];
$img1_pnt = $_POST['point1'];
$img2_pnt = $_POST['point2'];
$img3_pnt = $_POST['point3'];
$sn1 = mysqli_query($con, "SELECT * from images where id=".$img1."");
$sn2 = mysqli_fetch_array($sn1);
$mn1 = mysqli_query($con, "SELECT * from images where id=".$img2."");
$mn2 = mysqli_fetch_array($mn1);
$is1 = mysqli_query($con, "SELECT * from images where id=".$img2."");
$is2 = mysqli_fetch_array($is1);
//game Owner's image
$k1 = "SELECT * FROM days_data WHERE id=".$gid." AND lead=".$_SESSION['lead']." ORDER BY id DESC LIMIT 1";
$k2 = mysqli_query($con, $k1);
$k3 = mysqli_fetch_array($k2);
$var1 = $k3['img1'];
$var2 = $k3['img2'];
$var3 = $k3['img3'];
$vararray = array($var1, $var2, $var3);
$s1 = mysqli_query($con, "select * from images where id = ".$var1."");
$s2 = mysqli_query($con, "select * from images where id = ".$var2."");
$s3 = mysqli_query($con, "select * from images where id = ".$var3."");
$q1 = mysqli_fetch_array($s1);
$q2 = mysqli_fetch_array($s2);
$q3 = mysqli_fetch_array($s3);
//Display User guessed images
echo '<div class="row gutter30" style="margin-top:20px;">
<h2>Guessed Data</h2>
<div class="col-xs-4">
<img src="img/'.$mn2['image'].'" class="image" />
</div>
<div class="col-xs-4">
<img src="img/'.$sn2['image'].'" class="image" />
</div>
<div class="col-xs-4">
<img src="img/'.$is2['image'].'" class="image" />
</div>
</div>
//Game Owner's Images
<div class="row gutter30" style="margin-top:20px;">
<h2>RESULT</h2>
<div class="col-xs-4">
<img src="img/'.$q1['image'].'" class="image" />
</div>
<div class="col-xs-4">
<img src="img/'.$q2['image'].'" class="image" />
</div>
<div class="col-xs-4">
<img src="img/'.$q3['image'].'" class="image" />
</div>
//Here i will do the calculations of points
if(($_POST['img1_pnt'])!='')
{
if(in_array($_POST['img1'], $vararray))
{
// Calculations part
}
}
}
一時記憶領域データ用にクッキーを使用する – Deep
[考えられる解決法](https://stackoverflow.com/questions/6320113/how-to-prevent-form-resubmission-when-page-is-refreshed-f5-ctrlr) –
私が試みた最善の方法は、セッションをキーとして使用しています。 – TarangP