さまざまなことを試しましたが、最初のクリックで送信ボタンが機能しない理由がわかりません。コードから if ステートメントを削除しましたが、それでも 2 回クリックする必要があります。最初のクリックで、下にスクロールする必要がある送信ボタンをクリックしたときに最も明白なページが更新されます。以下のコードはページ上で約 27 回繰り返されていますが、曲は異なります。それらはすべて2回目のクリック後に機能するため、正しく接続されていると確信しています. また、ボタンを 1 回クリックしてから別のボタンをクリックすると、最初にクリックしたボタンが送信されます。
誰かが実際にどのように見えるかを見たい場合は、ページにテストアカウントを設定しました. http://www.saint57records.com/rewards/index.phpユーザー名: test パスワード: test
<?php
$resultstwo = mysqli_query($con,"Select * FROM users WHERE user_name ='$username'");
while ($row = mysqli_fetch_array($resultstwo))
{
extract($row);
}
?>
<form method="post" action="index.php">
<?php
//If submit form was clicked
if(isset($_POST['endo'])) {
//Server side validation for security purposes
if($points >= 100 AND $endo == 0 AND $savetheworldalbum == 0) {
mysqli_query($con,"UPDATE users SET points = points - 100 WHERE users.user_name = '$username' LIMIT 1");
mysqli_query($con,"UPDATE users SET endo = 1 WHERE users.user_name = '$username' LIMIT 1");
}
}
if ($points >= 100 AND $endo == 0 AND $savetheworldalbum == 0) {
echo '<input type="submit" name="endo" value="100pts">';
} elseif ($endo == 1 OR $savetheworldalbum == 1) {
echo '<input type="submit" name="submit" value="100pts" disabled title="You already earned this track!">';
} else {
echo '<input type="submit" name="submit" value="100pts" disabled title="You need at least 100 points for this download">';
}
?>
</form>
これはそれが出力するものです
<form method="post" action="index.php">
<input type="submit" name="endo" value="100pts"></form>