如何在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-啊,是的,我想我应该更深入地研究代码。