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

标签 php html mysql redirect authentication

我有一个 login.html 文件,其中的 form 具有 usernamepassword 字段,并且位于 提交按钮它使用mysql数据库检查表单中的值。
我的 PHP 代码位于名为 login.php

的不同文件中

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

login.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();
                    }  

}

?>


login.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>

最佳答案

使用此代码:

$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();
}

关于PHP:页面未重定向回登录页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19240330/

相关文章:

html - 需要帮助使此页面响应

mysql - 更改表添加新字段 "ON UPDATE CURRENT_TIMESTAMP"

php - 回复 : MySQL server not returning correct output

php - MySQL 在 PHP 中未请求时返回最高的 id 值

php pdo函数将结果作为数组传递并访问

php - 如何使下拉列表中的用户名每月显示一次名称

Javascript 可以将背景颜色更改为某些 <div>

java - 运行 JavaScript 方法并返回参数

php - FOS 带有 ACL 和角色的评论权限

javascript - 使用 PHP 从另一个页面获取内容