2012-07-24 40 views
1

我有一個腳本,我使用的是當用戶輸入代碼時我希望它添加到數據庫中的總量,但是沒有任何事情發生。在PHP中添加數據庫字段總數

這是到目前爲止我的代碼:

$err = array(); 
if (isset($_POST['doSubmit4']) === true) // Was if ($_POST['access']=='submit') 
{ 
$code = mysql_real_escape_string($_POST['access-key']); // Was $data['access-key'] 
$result = mysql_query("SELECT `akid`,`key`,`total_access` FROM access_keys WHERE id='$_SESSION[user_id]' AND type='1'") or die (mysql_error()); 
$num = mysql_num_rows($result); 
// Match row found with more than 1 results - the key exists. 
if ($num > 0) { 
    list($akid,$key,$total_access) = mysql_fetch_row($result); 
    if ($code == $key) { 
     if(empty($err)){ 
      $total_access++; 
      mysql_query("update access_keys set total_access='$total_access' where akid='$akid'") or die(mysql_error()); 
      header("Location: ./"); 
     } 
    } else { 
     $err[] = "Invalid Access Key. Please try again with correct access key."; 
    } 
} else { 
    $err[] = "Error - Invalid Access Key. No access exists for your user ID."; 
}  
} 

我想它給每個用戶輸入正確的密碼時增加總訪問字段,但是它不工作。

這是我的表單代碼:

<form name="postAccess" id="postAccess" method="post" action="access.php"> 
    <input type="password" name="access-key" id="access-key" style="background-color:black;color:white;" size="40" /><br/> 
    <input name="doSubmit4" type="submit" id="doSubmit4" value="submit"> 
</form> 
+1

「*它不工作。」*「問題在哪裏?如果您遇到一些錯誤,請通過編輯您的問題追加它們。 – Lion 2012-07-24 00:26:56

+0

強制性:您應該使用PDO而不是mysql_ *函數,該代碼看起來像SQL注入容易受到攻擊。 – Kush 2012-07-24 00:27:22

+0

這是調試的目的。查明問題所在。你有一個if語句的負載。我有一種感覺,問題在於父括號('if($ _ POST ['access'] =='submit')'),因爲您沒有超出該點的else語句。在「if」括號內做一些迴應,看看出現什麼,什麼不出現。這將有助於確定您的問題。 – 2012-07-24 00:30:30

回答

1

這可能是你的父母,如果括號內。

嘗試:的

if (isset($_POST['access']) === true) 

代替

if ($_POST['access']=='submit') 

如果這似乎並沒有做到這一點,做一些調試。

在方括號中拋出一些echo語句,以查看哪些條件是真的,哪些不是。

編輯:

我剛剛意識到另一個問題。

您的表單操作無效。這應該是您要發佈數據的頁面的路徑。所以:

相反的:

<form name="access" id="access" method="post" action="access">

你應該有:

<form name="access" id="access" method="post" action="your-php-path-here.php"> 

注意如何action = 「你的PHP-路徑here.php」 在上面的代碼。

+0

好的,謝謝。我在if(isset($ _ POST ['access'])=== true)下面的else語句中找到了一個錯誤,並且它肯定沒有選擇後置動作。所以不知道下一步。 – dpDesignz 2012-07-24 01:01:03

+0

@dpDesignz剛剛注意到了這個問題。檢查我的編輯。 – 2012-07-24 01:15:58

+0

謝謝,但由於某種原因仍然沒有收到帖子 – dpDesignz 2012-07-24 02:14:01