2013-04-12 50 views
2

我已經嘗試了許多不同的事情,我似乎無法弄清楚爲什麼提交按鈕不起作用的第一次點擊。我已經從代碼中刪除了if語句,仍然需要兩次點擊。在第一次點擊時,刷新頁面,當你點擊一個提交按鈕時,這是最明顯的,你必須向下滾動。下面的代碼在頁面上重複約27次,但歌曲不同。他們都在第二次點擊後工作,所以我很確定他們連接正確。同樣,當你點擊按鈕一次,然後如果你點擊不同的一個,它會提交你點擊的第一個。提交按鈕無法在第一次點擊

我已經在頁面上設置了一個測試帳戶,如果有人想看看它實際的樣子。 http://www.saint57records.com/rewards/index.php用戶名:密碼測試:測試

<?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>              
+0

也許*'disabled' *? –

+3

請發佈呈現的HTML,而不是PHP。 – j08691

+0

有時它會在編輯完成後第一次工作,但後來又回到了原來的樣子,並且我添加了呈現的html –

回答

1

嘗試將提交處理程序放在表單之外(html/php文件的頂部)。

<?php 
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"); 
    } 
} else { ?> 
<html> 
.` 
. 

+0

當我這樣做時,submit按鈕甚至沒有做任何事情 –

1

它看起來像你後,你決定是否讓提交按鈕禁用或不設置PHP變量$endo。首先閱讀您的$_POST,收集您的數據,然後然後生成您的HTML。然而,我不能真正告訴,除非你包括$ endo設置的代碼

+0

它曾經是這樣的,並且它仍然沒有工作,這是一個編輯,我試圖看看它是否會工作,我會放回去,並嘗試 –

+0

$ endo在這裏設置 $ resultstwo = mysqli_query($ con,「Select * FROM users WHERE user_name = '$用戶名'「); \t while($ row = mysqli_fetch_array($ resultstwo)) \t { \t extract($ row); \t} –

+0

我更新了代碼,所以它先讀取$ _POST,是不是 –

相關問題