此页面现在无法运行如果问题仍然存在,请联系网站所有者。 HTTP ERROR 405,这是我从登录页面收到的消息

问题描述 投票:0回答:1

我收到一条错误消息,指出使用 xampp 和 php 作为我的代码创建的登录页面。 “此页面现在无法工作。如果问题仍然存在,请联系网站所有者。HTTP 错误 405” 当我尝试登录该页面时,

我希望它打开另一个页面,显示“登录成功或登录失败”,它一开始可以工作,但是当我将登录页面从 git hub 转移到我的 vsCode 进行一些修改后,它就不再工作了。我不知道问题是来自我的代码还是来自我的服务器。如果它来自我的代码,我该如何修复它,如果它来自我的服务器,我又该如何修复它。

这是我的html代码:

<!-- Login form Code -->
                    <form action="POST" class="clearfix form-hidden" id="Register-form">
                        <h1>Register</h1>
                        <div class="col-md-12">
                            
                            <div class="input-group blmd-form">
                                <div class="blmd-line">
                                    <input type="text" name="username" autocomplete="off" id="username" class="form-control">
                                    <label class="blmd-label">Email or Username</label>
                                </div>
                            </div>
                            <div class="input-group blmd-form">
                                <div class="blmd-line">
                                    <input type="password" name="password" autocomplete="off" id="password" class="form-control">
                                    <label class="blmd-label">Password</label>
                                </div>
                            </div>
                             <div class="input-group blmd-form">
                                <div class="blmd-line">
                                    <input type="password" name="rePassword" autocomplet

e="off" id="password" class="form-control">
                                    <label class="blmd-label">Repeat Password</label>


                                </div>
                            </div>
                        </div>
                        <div class="col-sm-12 text-center">
                            <button type="button" class="btn btn-blmd ripple-effect btn-warning btn-lg btn-block">Register</button>
                        </div>
                        <br/>
                    </form>`

这是登录方面的php代码

 <?php 
if($_SERVER["REQUEST_METHOD"] == "POST"){

    //retrieve from data
    $username = $_POST['username'];
    $password = $_POST['password'];

    //database connection
    $host = "localhost";
    $dbusername = "root";
    $dbpassword = "";
    $dbname = "auth0";

    $conn = new mysqli($host, $dbusername, $dbpassword, $dbname);

  

    if($conn->connect_error){
        die("connection failed: ". $conn->connect_error);

    }  
     
    
    //validate login authentication
    $query = "SELECT * FROM login WHERE username='$username' AND password='$password'";

    $result  = $conn->query($query);
   
   

    if($result->num_rows == 1){
        //login success
        header("location:success.html");       
        exit();
    }
    
    else{
        //login failed
        header("location:error.html");       
        exit();
    }
    
    // if (!$result) {
    //     die("Query failed: " . $conn->error);
    // }
    
    //$conn->close();
}

?>


下面是我登录成功或失败时想要重定向到的页面的 html 代码:

成功页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Success</title>
    


</head>
<body>
    <h1>Success</h1>
</body>
</html>

错误页面


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Error</title>
</head>
<body>
    <h1>Failed to login</h1>
</body>
</html>

我尝试卸载我的 xampp 并使用相同的设置再次重新安装。所以我希望它能解决这个问题,因为我认为我的网站将在本地主机管理中有一个新的数据库。

php xampp teamsql
1个回答
0
投票

HTTP ERROR 405 表示方法(post 或 get)被拒绝。您的代码中有一些问题应该首先修复。

  1. 未指定方法 - html 表单默认方法是 GET。由于您没有正确指定方法,因此您的 html 表单正在使用 get 方法。要正确指定方法,请使用属性

    method="POST"
    而不是
    action="POST"
    action
    属性用于指定将 HTTP 请求发送到的位置。

  2. 按钮类型 - 要提交表单,您可以使用按钮或输入。但是,您必须指定哪个按钮/输入将提交表单。您可以通过将

    type
    属性设置为
    submit
    来指定哪个元素将提交表单。示例:
    <button type="submit">Submit Form</button>

如果问题仍然存在,则您的服务器配置可能存在问题。检查以确保 Apache 服务器允许对脚本 URL 发出 POST 请求。这是包含更多信息的链接:apache http requests

如果仍有问题,请检查您的 PHP 文件权限。通常权限为 0644。以下是有关文件权限的一些信息:php 文件权限

© www.soinside.com 2019 - 2024. All rights reserved.