PHP注册页面

PHP注册页面,php,html,Php,Html,这里是registo.php <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <link rel="sty

这里是registo.php

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" href="assets/bootstrap/css/bootstrap.min.css">
    <link rel="stylesheet" href="css/login.css">
    <script src="assets/bootstrap/js/bootstrap.min.js"></script>
    <script src="assets/jquery/jquery-3.2.1.js"></script>
    <title>SITIO</title>
</head>
<body>
    <div class="container">
        <div class="logo">
            <img src="images/logo_1.png">
        </div>
        <div class="login-form">
            <form action="includes/signup.php" method="post">
                <div class="form-group">
                    <label name="username" for="lg_username" class="sr-only">Username</label>
                    <input type="text" class="form-control" id="lg_username" name="username" placeholder="username">
                </div>
                <div class="form-group">
                    <label name="password"for="lg_password" class="sr-only">Password</label>
                    <input type="password" class="form-control" id="lg_password" name="password" placeholder="password">
                </div>
                <div class="form-group">
                    <label name="email" for="lg_email" class="sr-only">Email</label>
                    <input type="email" class="form-control" id="lg_email" name="email" placeholder="email">
                </div>
                <div class="form-group">
                <button type="submit" name="signup" class="btn btn-block btn-primary">
                  </button>
               </div>     
            </form>
        </div>
    </div>
</body>
</html>

斯提奥
用户名
密码
电子邮件
和signup.php

<?php

if(isset($_POST['signup'])){

    include "db.php";

    $username = $_POST['username'];
    $password = $_POST['password'];
    $email = $_POST['email'];

    //Error handlers
    //Check for empty fields
    if(empty($username) || empty($password) || empty($email)){
        header("Location: ../registo.php?=empty");
        exit();
    }else{
        //Validate the email
        if(!filter_var($email, FILTER_VALIDATE_EMAIL){
            header("Location: ../registo.php?=signup=email");
            exit();
        }else{
            //Check if the user already exists
            $sql = "SELECT * FROM Users WHERE username='$username'";
            $r = $conn->prepare($sql);
            $r->execute();
            $count = $r->rowCount();
            if($count > 0){
                header("Location: ../registo.php?=signup=usertaken");
                exit();
            }else{
                //Hash the password
                $hashedpwd = password_hash($password, PASSWORD_DEFAULT);
                //Inserting the user into the database
                $sql="INSERT INTO Users (username, password, email, isAdmin, company_fk) VALUES ('$username', '$hashedpwd', '$email', '0', '2')";
                $r= $conn->prepare($sql);
                $r->execute();
            }

        }
    }
}else{
    header("Location: ../registo.php?=empty");
    exit();
}

此处缺少结束父项:

if(!filter\u var($email,filter\u VALIDATE\u email){

改为

if(!filter\u var($email,filter\u VALIDATE\u email)){


我强烈建议您使用IDE或linter。我已将您的代码复制并粘贴到我的编辑器()中,并立即检测到错误。语法错误肯定会导致服务器端出现该错误。

此处缺少关闭父项:

if(!filter\u var($email,filter\u VALIDATE\u email){

改为

if(!filter\u var($email,filter\u VALIDATE\u email)){


我强烈建议您使用IDE或linter。我将您的代码复制并粘贴到我的编辑器()并立即检测到错误。语法错误肯定会导致服务器端出现错误。

您的脚本有可能查看甚至在使用过程中发生的情况。500个错误在服务器端,通常没有意义,因此您需要查看服务器日志,以找到您将在问题中发布的确切消息查找方法为您的环境启用PHP错误。您可以在htaccess文件、ini文件或代码中执行此操作,我相信还有其他方法。因此,您会说PHP中没有任何错误,这很可能是服务器端问题吗?您的脚本甚至有可能查看使用过程中发生的情况。服务器端和服务器端都有500个错误一般来说没有意义,因此您需要查看服务器日志,以找到您将在问题中发布的确切消息查找如何为您的环境启用PHP错误。您可以在htaccess文件、ini文件或代码中执行此操作,我相信还有其他方法。那么您是否会说PHP中没有错误,而且它最简单我遇到服务器端问题了吗?