如何在PHP中修复此登录表单
请帮帮我 当我输入正确的用户名和密码时,如果我输入了错误的组合,则不会发生任何事情,它会输出: 无效的用户名或密码 请帮助我修复此问题,以下是代码:如何在PHP中修复此登录表单,php,Php,请帮帮我 当我输入正确的用户名和密码时,如果我输入了错误的组合,则不会发生任何事情,它会输出: 无效的用户名或密码 请帮助我修复此问题,以下是代码: <?php if(isset($_POST['submit'])) { $Username=$_POST["user"]; //variable declaration for Username $Password=$_POST["pass"]; //variable declaration for Password(Encryp
<?php
if(isset($_POST['submit']))
{
$Username=$_POST["user"]; //variable declaration for Username
$Password=$_POST["pass"]; //variable declaration for Password(Encrypted)
$query2 = "SELECT * FROM admin WHERE username1='$Username' and pasword2='$Password'"; // . this is correct dont worry about this
$result = mysql_query($query2); //execute query
$host = "localhost"; // Host name
$db_name = "db_login"; // Database name
$db_user = "root"; // Database user name
$db_pass = ""; // Database Password
// Table column from which suggestions will get shown
$conn = mysql_connect($host,$db_user,$db_pass)or die(mysql_error());
mysql_select_db($db_name,$conn)or die(mysql_error());
$count = mysql_num_rows($result); //no of data found
$row = mysql_fetch_array($result, MYSQL_NUM); //rows no.
if($row)
{
session_start();
$USW=$_SESSION["username1"] = $row[2];
$_SESSION["usertype"] = $row[4];
$ui=$_SESSION["Id"] = $row[0];
$row[4];
}
$Us=$_POST['user'];
$Up=$_POST['pass'];
if($count == 1) //if data found is 1
{
if($row[4] == "admin") //then if user type is admin
{
header("location:Admin/Home.php?ui=$ui");
}
else //if not
{
header("location:user/index.php?ui=$ui");
}
}
else //if data is not found or greater than 1
{
echo '<b style="color:red;">Invalid Username or Password</b><br>';
echo '<b style="color:white;">Please try again..</b>';
header("index.php");
}
}
?>
如果输入的密码和用户名正确,请帮助我修复登录名您需要在实际查询后移动mysql_num_rows调用:
$result = mysql_query($query2); //execute query
$count = mysql_num_rows($result); //no of data found
$row = mysql_fetch_array($result, MYSQL_NUM); //rows no.
话虽如此,您的代码使您的数据库对攻击敞开了大门
另一个注意事项是,不推荐使用中的MySQL PHP模块。考虑使用.< /P>
只在连接到数据库
后执行查询$result = mysql_query($query2);
应该在后面
$conn = mysql_connect($host,$db_user,$db_pass)or die(mysql_error());
好奇的这是为活动站点设计的还是已经是活动站点?我希望不是另外一个,你有这个工作,那么为什么重新发布?bcuz。另一个。。没有管理员和用户标题位置。。所以我改了。。但是它不再正常工作了,这就是为什么我重新发布来修复这个问题…使用工作代码,制作一个副本,然后添加到它,不要覆盖工作代码。始终缓慢地构建,然后当出现问题时,您将知道如何解决问题。您也没有回答我的第一个问题,即这是用于活动站点还是用于活动站点。还应添加有关SQL注入和弃用驱动程序的说明。@chris85这不是唯一的问题thing@chris85说得好。@Fred ii-啊,是的,我想我应该更深入地研究代码。