基本上,我想检查数据库以查看用户名和密码是否匹配,如果匹配,则解锁提交按钮。
<?php
mysql_connect('localhost', '', '');
mysql_select_db('database');
if(isset($_POST['submit'])){
mysql_query("SELECT username,password FROM table WHERE username='".$_POST['username']."',password='".$_POST['password']."'")
}
?>表格:
<form method="post">
Username <input type="text" name="username" />
Password <input type="password" name="password" />
<input type="submit" name="submit" value="Login" />
</form>发布于 2011-04-10 02:10:03
我不知道我是否正确,但不管怎样,请尝试:
HTML:
<form method="post">
Username <input type="text" id="username" name="username" />
Password <input type="password" id="password" name="password" />
<input type="submit" name="submit" id="submit" value="Login" />
</form>jQuery:
$("#submit").hide();
$.post("checkUsername.php", { username: $("#username").val(), password: $("#password").val() }, function(result) {
if(result == "true") { $("#submit").fadeIn(fast); }
});Php ( checkUsername.php ):
if(mysql_num_rows(mysql_query("SELECT username,password FROM table WHERE username LIKE '". mysql_real_escape_string($_POST['username']) . "',password LIKE '".mysql_real_escape_string($_POST['password'])."'")))
{
echo "true";
}
else
{
echo "false";
}发布于 2011-04-10 01:49:04
mysql_real_escape_string()对字符串进行转义。否则,SQL injection 这样的包
发布于 2013-03-22 06:49:27
您应该避免对这样的登录提示使用LIKE关键字,因为通配符不受mysql_real_escape_string的影响。用户可以使用用户名和密码"%“登录。
请参阅以下博客文章:http://blog.spiderlabs.com/2012/03/like-omg.html
使用=代替LIKE。
https://stackoverflow.com/questions/5606646
复制相似问题