如何在PHP中修复登录表单

时间:2013-12-03 11:16:56

标签: php mysql

每当我尝试使用我制作的简单页面登录时。但是查找是否有问题,以查看该信息是否在数据库中。它只需要使用用户名和密码登录。

这是html表单:

<p> Login </p>

<form action='login.php' method='POST'>
<input type='text' name='username'/><br>
<input type='password' name='password'/><br>
<input type='submit' name='submit' value='Login'/>

</form>

以下是该表单的脚本:

<?php

error_reporting(0);

session_start();

$username = $_POST['username'];
$password = $_POST['password'];

include ("connect.php");

if ($username && $password) {

    // Info Is Provided
    $queryget = mysql_query("SELECT * FROM users WHERE username='$username' AND password='$password'");
    $numrow = mysql_numrows($queryget);
    if ($numrow != 0) {

        $_SESSION['username'] = $username;

        echo "You Have Been Loggend In. | <a href='members.php'>Go To The Members Page</a>";

    } else {

        echo "Your Username Was Not Found";

    }

} else {

    echo "You Did Not Provide All OF The Neccesary Information.";
    include ("index5.php");

}


 ?> 

你能说出为什么它不会让我登录吗?

3 个答案:

答案 0 :(得分:3)

改变这个:

$numrow = mysql_numrows($queryget);

要:

$numrow = mysql_num_rows($queryget);

并在if条件中使用isset函数:

if(isset($username) && isset($password)){  

答案 1 :(得分:0)

结束后你可能有空格?&gt;

<?php

error_reporting(0);

session_start();

$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);

include ("connect.php");

if (isset($username) && isset($password)) {

    // Info Is Provided
    $queryget = mysql_query("SELECT * FROM users WHERE username='$username' AND password='$password'");
    $numrow = mysql_num_rows($queryget);
    if ($numrow != 0) {

        $_SESSION['username'] = $username;

        echo "You Have Been Loggend In. | <a href='members.php'>Go To The Members Page</a>";

    } else {

        echo "Your Username Was Not Found";

    }

} else {

    echo "You Did Not Provide All OF The Neccesary Information.";
    include ("index5.php");

}

?>

答案 2 :(得分:0)

您遇到的问题可能与您正在使用的PHP版本有关,MySQL已过时且无法在最新版本上运行,它已更改为类似的MySQL,因此它非常值得学习。下面的代码与您的代码类似,我已将include删除为connect.php并将其替换为MySQLi。我还对查询进行了更改,仅限制一个要返回的项目。     

$username = $_POST['username'];
$password = $_POST['password'];


$Connect = mysqli_connect($host,$user,$pass,$database);

if (isset($username) && isset($password))
{
    // Info Is Provided
    $queryget = mysqli_query($Connect, "SELECT * FROM users WHERE username='$username'     AND password='$password' LIMIT 1");
    $numrow = mysqli_num_rows($queryget);
    if ($numrow == 1)
    {
        $_SESSION['username'] = $username;
        echo "You Have Been Logged In. | <a href='members.php'>Go To The Members Page</a>";
    }
    else 
    {
    echo "Your Username Was Not Found";
    }
} 
else 
{
    echo "You Did Not Provide All OF The Neccesary Information.";
    include ("index5.php");
}
?> 
相关问题