2012-04-26 68 views
0

我的代码不会回应给我,但我相信它应该工作。我试图让它告诉我,如果它在我的数据库中发现一行,要匹配它并告诉我im登录,或者如果它找不到行,则回显组合无效。无论如何,它不会回应一件事?我对此很新,而我似乎无法弄清楚。工作你的魔力,请家伙?为什么我的代码不能回显任何内容?

注意:查询中引用的所有数据库确实存在,并且它也连接到该数据库。

谢谢!

<?php 

if (isset($_POST['username'])&&isset($_POST['password'])) 
{ 
$username = $_POST['username']; 
$password = $_POST['password']; 
$password_hash = md5($password); 

if (!empty($username)&&!empty($password)) 
{ 
    $query = "SELECT `id` FROM `users` WHERE `username`='$username' AND `password`='$password_hash'"; 
    if ($query_run = mysql_query($query)) 
    { 
     $query_num_rows = mysql_num_rows($query_run); 
     if ($query_num_rows==0) 
     { 
      echo 'Invalid username password combination'; 
     } 
      else 
     { 
      echo 'Ok.'; 
     } 
    } 
} 
} 

?> 

<form action="<?php echo $current_file; ?>" method="POST"> 
Username: <input type="text" name="username" class="login"> 
Password: <input type="password" name="password" class="login"> 
<input type="submit" value="Login"> 
</form> 
+3

尝试使用页面顶部的'error_reporting(E_ALL);'。 – Shoe 2012-04-26 16:36:33

+1

是'$ current_file'准确吗? – 2012-04-26 16:37:34

+3

你真的**需要向[Bobby Tables](http://bobby-tables.com)学习并使用准备好的语句! – eggyal 2012-04-26 16:38:08

回答

1

您没有连接到数据库。你需要添加如下内容:

$link = mysql_connect("localhost", "mysql_user", "mysql_password"); 
+0

如果这回答你的问题,请将其标记为“已回答”。谢谢。 – 2014-07-04 06:43:33

0

你有很多其他的东西没有相应的else语句打印出来。如果其中一个条件为false,则不会输出。尝试:

if (isset($_POST['username'])&&isset($_POST['password'])) 
{ 
    $username = $_POST['username']; 
    $password = $_POST['password']; 
    $password_hash = md5($password); 

    if (!empty($username)&&!empty($password)) 
    { 
     $query = "SELECT `id` FROM `users` WHERE `username`='$username' AND `password`='$password_hash'"; 
     if ($query_run = mysql_query($query)) 
     { 
      $query_num_rows = mysql_num_rows($query_run); 
      if ($query_num_rows==0) 
      { 
       echo 'Invalid username password combination'; 
      } 
      else 
      { 
      echo 'Ok.'; 
      } 
     } 
     else echo 'query exeution returned false'; 
    } 
    else echo 'empty username or password'; 
} 
else echo 'not isset username or pwd'; 

最后,如果你没有输出,即使这个别人stataments然后观看到日志是否出现任何致命错误,阻止任何输出之前执行的是打印!

相关问题