创建了一个简单的登录表单,但它似乎无法正常工作。它总是打开管理页面。
$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小时内需要工作代码我很喜欢
答案 0 :(得分:2)
<强> mysql_query 强>
对于SELECT,SHOW,DESCRIBE,EXPLAIN和其他语句返回 resultset,mysql_query()在成功时返回资源,或者返回FALSE 错误。
从结果集中检索行数。
$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??