只有最后一行if/else语句在php上工作


only last line of if/else statement is working on php

只有if/else语句的最后一行有效。我怎么解决这个问题?结果是请输入用户名和密码

以下是PHP代码:
<?php
session_start();
$username =@$_POST['username'];
$password =@$_POST['password'];
if ($username&&$password) 
{
    $connect = mysql_connect("localhost","root","")or die("Couldn't connect to the database!");
    mysql_select_db("login") or die("Couldn't find database!");
    $query = mysql_query("SELECT * FROM users WHERE username='$username'");
    $numrows = mysql_num_rows($query); 
    if($numrows!==0)
    {
        while($row = mysql_fetch_assoc($query))
        {
            $dbusername = $row['username'];
            $dbpassword = $row['password'];        
        }
        if($username==$dbusername&&$password==$dbpassword)
        {
            echo "Your are logged in!";
            $_SESSION['username']=$username;
        }
        else 
            echo "Your password is incorrect!";
    }
    else
        die("That user doesn't exists!");
}
else
    die("Please enter a user name and password");
?>

这就是我的HTML表单:

<html> 
    <form action="loginpage.php" method="post">
        Username: <input type="text" name"username">
        <p> 
            Password: <input type="password" name"password">
                <p> 
                    <input type="submit"> 
                </form> 
            </html>
            <?php
            session_start();
            $username = @$_POST['username'];
            $password = @$_POST['password'];
            if (!empty($_POST['submit'])) {
                $connect = mysql_connect("localhost", "root", "")or die("Couldn't connect to the database!");
                mysql_select_db("login") or die("Couldn't find database!");
                $query = mysql_query("SELECT * FROM users WHERE username='$username'");
                $numrows = mysql_num_rows($query);
                if ($numrows > 0) {
                    while ($row = mysql_fetch_assoc($query)) {
                        $dbusername = $row['username'];
                        $dbpassword = $row['password'];
                    }
                    if ($username == $dbusername && $password == $dbpassword) {
                        echo "Your are logged in!";
                        $_SESSION['username'] = $username;
                    } else
                        echo "Your password is incorrect!";
                } else
                    die("That user doesn't exists!");
            }
            else {
                ECHO "Please enter a username and Password";
            }
            ?>
            <form method="post">
                <input type="text" name="username">
                <input type="text" name="password">
                <input type="submit" name="submit" value="submit">
            </form>

试试这个,但我的建议也是,你采取if(!empty($_POST['submit'])),因为当文档加载输入字段肯定是空的,所以它会去else部分。你已经添加了骰子代码……