我想,当用户名和密码文本字段与数据库用户名和密码匹配时,用户将登录。在database.i中存储md5()密码,以便比较文本字段密码和数据库md5格式密码。
的index.html
> <form name="f1" action="login.php" method="post"> <table border="1">
> <tr><td>username</td><td><input type="text" name="t1"></td></tr>
> <tr><td>password</td><td><input type="password" name="t2"></td></tr>
> <tr><td><input type="submit" value="login"></td></tr> </table> </form>
的login.php
$user=$_POST['t1'];
$pass=md5($_POST['t2']);
$result=mysql_query("select * from registor where username='$user' and password='$pass'")or die(mysql_error());
$row=mysql_fetch_row($result);
它无效。密码文本字段与md5不匹配?怎么样?
答案 0 :(得分:0)
这样做的诀窍是:
$result=mysql_query("select * from registor where username='$user' and password=md5('$pass');")or die(mysql_error());
基于http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html
的记录答案 1 :(得分:0)
只需在查询中添加md5。
$user=$_POST['t1'];
$pass=md5($_POST['t2']);
$result=mysql_query("select * from registor where username='$user' and
password=md5('$pass')")or die(mysql_error());
$row=mysql_fetch_row($result);
注意:尝试使用mysqli或PDO
答案 2 :(得分:0)
切线略有偏差,但如果可能的话,你大喊大叫不要使用md5存储散列密码。特别是没有盐。有关这方面的更多信息的一个很好的起点是:
http://ircmaxell.github.io/password-hashing-mini-presentation/ http://www.phptherightway.com/#password_hashing