简单登录php无法正常工作

时间:2016-01-16 09:23:17

标签: php mysql login

创建了一个简单的登录表单,但它似乎无法正常工作。它总是打开管理页面。

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

if(mysql_query("SELECT * FROM users WHERE username='$username' AND password='$password'",$con)){
session_start();
$_SESSION["username"]=$username;
$_SESSION["password"]=$password;
header('location:admin.html');
}
else{
echo "Login Failed.<a href=index.html>Re Login</a";
}

需要帮助。这里是html部分。

 <form method="post" id="loginform" action="validate.php">
<table>
    <tr>
        <td>
            <label>Username :</label>
        </td>
        <td>
            <input type="text" name="username"/>
        </td>
    </tr>
<br>
    <tr>
        <td>
            <label>Password :</label>
        </td>
        <td>
            <input type="password" name="password"/>
        </td>
    </tr>
<br>
    <tr>
        <td>
        <input type="submit" id="login" value="Log In" class="btn btn-primary"/>
        </td>
        <td>
            <input type="reset" id="reset" value="Reset" class="btn btn-primary"/>
        </td>
    </tr>
</table>

在2小时内需要工作代码我很喜欢

1 个答案:

答案 0 :(得分:2)

<强> mysql_query

  

对于SELECT,SHOW,DESCRIBE,EXPLAIN和其他语句返回   resultset,mysql_query()在成功时返回资源,或者返回FALSE   错误。

使用 mysql_num_rows()

  

从结果集中检索行数。

$result = mysql_query(mysql_query("SELECT * FROM users WHERE username='$username' AND password='$password'",$con));
$row = mysql_num_rows($result);
if ($row > 0) {
   header('location:admin.html');

} else {
echo "Login Failed.<a href=index.html>Re Login</a";

}
  

注意

     

不推荐使用Mysql而是使用mysqli或PDO

不要将普通密码存储到数据库中使用散列技术

http://php.net/manual/en/function.password-hash.php

http://php.net/manual/en/faq.passwords.php

要防止sql注入检查How can I prevent SQL injection in PHP?