Javascript 我正在尝试使用验证创建此登录/注册表单

Javascript 我正在尝试使用验证创建此登录/注册表单,javascript,php,html,css,mysql,Javascript,Php,Html,Css,Mysql,我的代码中出现了某种php错误,但我不确定它是什么 我的代码开始变得有趣,在最后当你到达底部php。我正在尝试验证用户名和密码,但我遇到了一些类型的错误 <?php include 'config.php'; ?> <!DOCTYPE html> <html> <head> <title>Register Page</title> <li

我的代码中出现了某种php错误,但我不确定它是什么 我的代码开始变得有趣,在最后当你到达底部php。我正在尝试验证用户名和密码,但我遇到了一些类型的错误

   <?php 
        include 'config.php';

    ?>
    <!DOCTYPE html>
    <html>
    <head>
        <title>Register Page</title>
    <link rel="stylesheet" href="style.css">
    </head>
    <body>

        <div id="main-wrapper">
            <center>
                <h2 style="color: white;">Register Page</h2>
            <img class="avatar" src="spaceman2.jpg" style="height: 100px; width: 100px" />

            </center>

            <form class="my-form" action="register.php" method="post">
                <label><b>Username<b></label>
                <input name="username" type="text" class="input-values" placeholder="Your username" required/>

                <label><b>Password<b></label>
                <input name="password" type="password" class="input-values" placeholder="Your password" required/>

                <label><b>Confirm Password<b></label>
                <input name="cpassword" type="password" class="input-values" placeholder="Confirm password" required/>

                <input name="signup_btn" id="signup-btn" type="submit" value="Sign Up"/>
                <br/>
                <a href="login.php"><input id="back-btn"  type="button" value="<- Back"/></a>

            </form>


    <?php

                if(isset($_POST['signup_btn']))
                {
                    //echo '<script type="text/javascript"> alert("You are now signed in!")</script>';

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

                    if($password == $cpassword)
                    {
                        $query= "SELECT * FROM user WHERE username ='$username'";

                        $query_run = mysqli_query($con,$query);

                        if(mysqli_num_rows($query_run)>0)
                        {
                            echo '<script type="text/javascript"> alert("Astronaut name already exist") </script>';

                        }
                        {
                            $query= "insert into user values('$username','$password')";
                            $query_run = mysqli_query($con, $query);

                            if($query_run)
                            {
                                echo '<script type="text/javascript"> alert("Astronaut is now registered! Go to Login Page!") </script>';
                            }
                            else 
                            {
                                echo '<script type="text/javascript"> alert("Error!") </script>';
                            }
                        }


            ?>

注册页
注册页
用户名
密码
确认密码

有几件事:

您的$cpassword引用的是您的$\u POST['password',而不是cpassword

insert语句缺少值之前的列引用


您还应该考虑一些密码散列/加密。

您的代码由于

有错误。 特别是在php中

您忘记了
else
,并且使用了
密码
作为
$cpasswrod

html
中,您不会关闭


这是您的代码的新版本:(试试看)


注册页
注册页
用户名
密码
确认密码


错误到底是什么?编辑您的问题并添加错误消息的完整文本。另外,显示导致错误的代码行(因为问题不显示行号),请不要直接存储密码。PHP有一个散列密码的功能,因此如果您的数据库被破坏,黑客将无法获得实际密码。警告:编写自己的访问控制层并不容易,而且有很多机会使其严重出错。请不要编写您自己的身份验证系统,因为任何现代的同类产品都具有强大的内置功能。至少要遵循并永远不要将密码存储为纯文本或弱散列(如SHA1或MD5)。警告:使用
mysqli
时,您应该使用and将用户数据添加到查询中。不要使用字符串插值或串联来完成此操作,因为您已经创建了严重的错误。千万不要将
$\u POST
$\u GET
或任何用户数据直接放入查询中,如果有人试图利用你的错误,这可能是非常有害的。这只是冰山一角。
<?php
                include 'config.php';
                if(isset($_POST['signup_btn']))
                {
                    //echo '<script type="text/javascript"> alert("You are now signed in!")</script>';

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

                    if($password == $cpassword){
                        $query= "SELECT * FROM user WHERE username ='$username'";

                        $query_run = mysqli_query($con,$query);

                        if(mysqli_num_rows($query_run)>0)
                        {
                            echo '<script type="text/javascript"> alert("Astronaut name already exist") </script>';

                        }
                        else{
                            $query= "insert into user values('$username','$password')";
                            $query_run = mysqli_query($con, $query);

                            if($query_run)
                            {
                                echo '<script type="text/javascript"> alert("Astronaut is now registered! Go to Login Page!") </script>';
                            }
                            else 
                            {
                                echo '<script type="text/javascript"> alert("Error!") </script>';
                            }
                        }

                    }
                }
            ?>
    <html>
    <head>
        <title>Register Page</title>
    <link rel="stylesheet" href="style.css" />
    </head>
    <body>

        <div id="main-wrapper">
            <center>
                <h2 style="color: white;">Register Page</h2>
            <img class="avatar" src="spaceman2.jpg" style="height: 100px; width: 100px" />

            </center>

            <form class="my-form" action="index.php" method="post">
                <label><b>Username</b></label>
                <input name="username" type="text" class="input-values" placeholder="Your username" required/>

                <label><b>Password</b></label>
                <input name="password" type="password" class="input-values" placeholder="Your password" required/>

                <label><b>Confirm Password</b></label>
                <input name="cpassword" type="password" class="input-values" placeholder="Confirm password" required/>

                <input name="signup_btn" id="signup-btn" type="submit" value="Sign Up"/>
                <br/>
                <a href="login.php"><input id="back-btn"  type="button" value="<- Back"/></a>

            </form>

        </div>
        </body>
</html>
<?php 
    include 'config.php';
?>
<!DOCTYPE html>
<html>
    <head>
        <title>Register Page</title>
        <link rel="stylesheet" href="style.css">
    </head>
    <body>
        <div id="main-wrapper">
            <center>
                <h2 style="color: white;">Register Page</h2>
                <img class="avatar" src="spaceman2.jpg" style="height: 100px; width: 100px" />
            </center>
            <form class="my-form" action="register.php" method="post">
                <label><b>Username</b></label>
                <input name="username" type="text" class="input-values" placeholder="Your username" required />

                <label><b>Password</b></label>
                <input name="password" type="password" class="input-values" placeholder="Your password" required />

                <label><b>Confirm Password</b></label>
                <input name="cpassword" type="password" class="input-values" placeholder="Confirm password" required />

                <input name="signup_btn" id="signup-btn" type="submit" value="Sign Up"/>
                <br/>
                <a href="login.php"><input id="back-btn"  type="button" value="<- Back"/></a>
            </form>
            <?php

            if(isset($_POST['signup_btn']))
            {
                //echo '<script type="text/javascript"> alert("You are now signed in!")</script>';

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

                if($password == $cpassword)
                {
                    $query= "SELECT * FROM user WHERE username ='$username'";

                    $query_run = mysqli_query($con,$query);

                    if(mysqli_num_rows($query_run)>0)
                    {
                        echo '<script type="text/javascript"> alert("Astronaut name already exist") </script>';

                    }else
                    {
                        $query= "insert into user (username, password) values('$username','$password')";
                        $query_run = mysqli_query($con, $query);

                        if($query_run)
                        {
                            echo '<script type="text/javascript"> alert("Astronaut is now registered! Go to Login Page!") </script>';
                        }
                        else 
                        {
                            echo '<script type="text/javascript"> alert("Error!") </script>';
                        }
                    }
                }
            }
            ?>
        </div>
    </body>
</html>