2012-07-24 37 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