当前位置: 首页 > 知识库问答 >
问题:

PHP:页面未重定向回登录页面

满昊然
2023-03-14

我有一个login.html文件,带有一个表单,具有用户名密码字段,在提交按钮上,它用mysql检查表单中的值
我的PHP代码在不同的文件称为login.php

问题是,当我输入正确的用户名和密码时,它可以正常工作。但是如果我输入了错误的信息或是将它们保留为空,那么如果我重定向到登录,就可以了。html页面,它重定向到登录。php页面。

登录。php

<?php

 ### Check if the Submit button is clicked
        if (isset($_POST['btnSubmit']))
         {
            # code...
            //$uname=$_POST['uname'];
            //$pswd=$_POST['pswd']; 

    #### Connection to mySQL ####
    $conn=mysqli_connect("localhost","root","","vishal") or die("Unable to connect to MySQL");



            if (mysqli_connect_errno())
            {
                echo "Failed to connect to MySQL: " . mysqli_connect_error();
            }

            $result = mysqli_query($conn,"SELECT * FROM login where username = '$_POST[uname]' AND password = '$_POST[pswd]'") or die(mysql_error());

            $row = mysqli_fetch_array($result) or die(mysql_error());

                    $username=$row['username'];
                    $password=$row['password'];


                    if (!empty($username) AND !empty($password)) 
                    {   # code...
                        //$_SESSION['username'] =$password;
                        header('location:welcome.html');
                    }

                    else //(empty($username) AND empty($password))
                    {   # code...
                        header('location:login.html');
                        die();
                    }  

}

?>


登录。html

<form action="login.php" name="login_form" method="post" enctype="multipart/form-data" target="_self">
    <fieldset style="width:300px; margin:auto; margin-top:100px; border:solid 2px #900; background-color:#CCC; border-radius: 50px">    
        <h1 style="color:#306;"> <center> Login Form </center></h1> <br> <br>
        <div style="margin-left:30px;">

         <table>
         <tr>   
            <td align="right"> <label for="uname"> <strong>Username :</strong> </label> </td>
            <td>        <input type="text" title="Username" id="uname" name="uname" placeholder="Username" />   </td>
          </tr>
          <tr><td>  </td><td> </td> </tr>
          <tr>   
            <td align="right"> <label for="pswd"> <strong>Password :</strong> </label>  </td>
            <td>        <input type="password" title="Password" id="pswd" name="pswd" placeholder="Password" />     </td>
          </tr>
          <tr><td><br /> </td><td> <br /></td>  </tr>
          <tr>
            <td></td>
            <td>        <input type="submit" title="Submit" name="btnSubmit" id="btnSubmit" value="Submit"  style="width:100px; height:26px; font-weight:bold;" />  </td>
            </tr>
           <tr><td><br /> </td><td> <br /></td> </tr>         
        </table>
        </div>
    </fieldset>
</form>

共有2个答案

郗唯
2023-03-14

你必须这样做在login.php

<?php

 ### Check if the Submit button is clicked
if (isset($_POST['btnSubmit']))
{

    $conn=mysqli_connect("localhost","root","","vishal") or die("Unable to connect to MySQL");
    if (mysqli_connect_errno()){
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    if(!empty($_POST['uname']) && !empty($_POST['pswd'])) {
        $result = mysqli_query($conn,"SELECT * FROM login where username = '$_POST[uname]' AND password = '$_POST[pswd]'") or die(mysql_error());
        $row_count = mysqli_num_rows($result);
        if($row_count==1) {
           $row = mysqli_fetch_array($result) or die(mysql_error());
           $username=$row['username'];
           $password=$row['password'];
           header('location:welcome.html');
        } else {
           header('location:login.html');
           die();
        }
    } else {
        header('location:login.html');
        die();
    } 
}

?>
羊舌诚
2023-03-14

使用此代码

$result = mysqli_query($conn,"SELECT * FROM login where username = '$_POST[uname]' AND password = '$_POST[pswd]'") or die(mysql_error());
$row_count = mysql_num_rows($result);
if($row_count==1) {
    $row = mysqli_fetch_array($result) or die(mysql_error());
    $username=$row['username'];
    $password=$row['password'];
     header('location:welcome.html');
} else {
    header('location:login.html');
    die();
}
 类似资料:
  • 问题内容: 我正在做一个简单的论坛,由一系列论坛组成,每个论坛分别代表首页,主题,postitit,登录名和用户列表页面。在某些页面上,当用户未登录时会出现一个链接。 我想要实现的是在登录后触发重定向(在RequestDispatcher上使用forward()),以便浏览器返回到用户在单击登录链接之前所在的页面。为此,我看到了两种解决方案。 第一种解决方案是使用带有登录按钮的HTML 和一个不可

  • 记录器文件中的日志- org.springframework.Security.Access.event.loggerlistener-安全授权失败,原因是:org.springframework.Security.Access.accessdeniedexception:访问被拒绝;通过身份验证的主体:org.springframework.security.authentication.ano

  • 我使用jsf servlet并创建了自定义登录页面,使用了带有动作j_spring_security_check的表单,方法POST,使用了j_username和j_password。当我单击登录按钮时,我遇到的问题不是重定向到页面,而是在Chrome网络列中显示了带有302状态代码的post方法j_spring_security_check,我是否使用了Spring安全的正确方式? 登录。jsf

  • 我现在一直在努力使用我的登录页面来让组件呈现Loggedin组件。我的前端是Reactjs,后端是NodeJS。我对nodejs、expression和react都是新手。 在loginform组件上,我使用fetch进行了一次post,它将用户名和密码传递给后端的相应endpoint。没问题。在后端,它读取我存储用户(不使用任何数据库)的jsonfile来查找匹配项,如果用户名和密码都匹配,则它

  • 我刚开始研究Spring安全,遇到了一个问题。在登录表单中输入凭据后,用户将被重定向回登录页。 下面是我配置的SecurityConfiguration.java: } 登录表单:

  • 我在Laravel5.2中使用了php artisan函数。 我想重定向的客人登录页面,若客人点击链接,只有用户并没有客人。 我想在登录后将用户重定向到后面的页面。 我怎么能这么做?请详细展示一些文件名示例。 ///////编辑 路线 控制器 Kernel.php