每次在提交按鈕上點擊兩次以獲取代碼時,也只是隨機觸發不同的代碼,這些代碼的設置方式相同但名稱不同輸入和內部的$_POST
。我是否通過將輸入的名稱設置爲相同的東西來使用$_POST
?PHP推送提交按鈕需要兩次來啓動代碼
這裏是你唯一的輸出name="intro"
提交按鈕時if()
條款,第一行是滿足碼
<?php
//If submit form was clicked
if(isset($_POST['intro'])) {
//Server side validation for security purposes
if($userpoints >= 100 AND $intro == 0 AND $lifeonmarsalbum == 0) {
mysqli_query($con,"UPDATE users SET points = points - 100 WHERE users.user_name = '$username' LIMIT 1");
mysqli_query($con,"UPDATE users SET intro = 1 WHERE users.user_name = '$username' LIMIT 1");
}
}
?>
<form method="post" action="index.php">
<?php
if ($userpoints >= 100 AND $intro == 0 AND $lifeonmarsalbum == 0) {
echo '<input type="submit" name="intro" value="100pts">';
} elseif ($intro == 1 OR $lifeonmarsalbum == 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">';
}
?>
通過使用'UPDATE ... WHERE user_name ='$ username'',您錯過了使用'MySQLi'的要點。建議使用'$ stmt = mysqli_prepare(「UPDATE ... WHERE user_name =?」); mysqli_stmt_bind_param($ stmt,「s」,$ username);'。 – Passerby 2013-04-08 04:10:11
雅如果你不能說我對PHP和MySQLi完全陌生,從字面上剛開始使用它前兩天建立一個點系統與我的網站。所以我使用的一切正是我從互聯網上學到的東西。我從W3Schools獲得了mysqli代碼 – 2013-04-08 04:17:58
哇,w3school在SO中的聲譽非常糟糕。人們甚至建立了[一個網站](http://w3fools.com)來「downvote」它。閱讀[PHP的指南](http://www.php.net/manual/en/mysqli.quickstart.php)可能會更好。 – Passerby 2013-04-08 04:21:37