只有if / else语句的最后一行正在处理php

时间:2015-08-17 07:27:00

标签: 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>

1 个答案:

答案 0 :(得分:-1)

            <?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部分。你在哪里添加了骰子代码...避免在其他地方使用骰子代码使用echo提示。