如何修复显示错误用户名或密码的Php?
请帮我修复这个代码 我正在尝试处理错误的用户名或密码,将显示 如果我输入了错误的数据。。。 如果我输入了正确的数据,则可以显示此代码 它将显示 成功 但如果我错了,什么也不会发生如何修复显示错误用户名或密码的Php?,php,Php,请帮我修复这个代码 我正在尝试处理错误的用户名或密码,将显示 如果我输入了错误的数据。。。 如果我输入了正确的数据,则可以显示此代码 它将显示 成功 但如果我错了,什么也不会发生 <?php if (isset($_POST["submit"])): $user = $_POST['user']; $pass = $_POST['pass']; $con = mysql_connect('localhost', 'root', ''); mysql_s
<?php
if (isset($_POST["submit"])):
$user = $_POST['user'];
$pass = $_POST['pass'];
$con = mysql_connect('localhost', 'root', '');
mysql_select_db('login') or die ("cannot select DB");
$query = mysql_query("SELECT * FROM userdata WHERE username='" . $user . "' AND password='" . $pass . "'");
$numrows = mysql_num_rows($query);
if ($numrows != 0) {
while ($row = mysql_fetch_assoc($query)) {
$dbusername = $row['username'];
$dbpassword = $row['password'];
}
if ($user == $dbusername && $pass == $dbpassword) {
echo '<b>Success!</b>';
} else {
echo ' incorrect Username or Password ';
}
}
endif;
?>
您只需几行即可完成
$query = mysql_query("SELECT userId FROM userdata WHERE username='".$user."' AND password='".$pass."'");
//$numrows=mysql_num_rows($query);
if(mysql_num_rows($query) == 1)
{
echo "success";
}
else
echo "Error";
如果用户名和密码不匹配,查询将返回0行
请参阅本文:这是因为您已将条件写在其中
如果($numrows!=0){
....
}
还有一件事,select查询将始终返回一行,因为用户名对于每个用户都应该是唯一的。所以,不需要while循环
输入错误的输入时,您没有得到任何信息,因为select查询没有返回任何信息。因此,跳过了整个if($numrows!=0){…}
<?php
if(isset($_POST["submit"])):
$user=$_POST['user'];
$pass=$_POST['pass'];
$con=mysql_connect('localhost', 'root', '');
mysql_select_db('login') or die ("cannot select DB");
$query=mysql_query("SELECT username, password FROM userdata WHERE username='".$user."' AND password='".$pass."'");
$numrows=mysql_num_rows($query);
if($numrows!=0)
{
$dbusername=$row['username'];
$dbpassword=$row['password'];
}
if($user == $dbusername && $pass == $dbpassword)
{
echo'<b>Success!</b>';
}
else
{
echo' incorrect Username or Password ';
}
endif;
?>
如果我将此用作密码:测试”或“a”=“a
?无论使用哪个用户名,它都会接受它。换句话说:您的脚本对SQL注入非常开放!请更新它MySQLi()
或PDO()
并使用准备好的语句。它的错误。现在我甚至不能展示成功。。但谢谢你的回答。:)谢谢你的回答,它工作正常。。我把代码改成了这个。。thnx:3