为什么我的代码没有回应任何东西?

时间:2012-04-26 16:34:56

标签: php mysql

我的代码不会向我回应,但我相信它应该有效。我试图让它告诉我,如果它在我的数据库中找到一行,为了匹配它并告诉我即时登录,或者如果它没有找到任何行,那么就回显出组合是无效的。无论如何,它不会回应一件事吗?我对此很陌生,我似乎无法弄明白。请你的魔法吗?

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

谢谢!

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

2 个答案:

答案 0 :(得分:1)

您没有连接到数据库。你需要添加这样的东西:

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

答案 1 :(得分:0)

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

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,那么如果出现任何致命错误,请查看日志并在打印任何输出之前阻止执行!