提问者:小点点

用户的输入无法插入数据库[已关闭]


下面是用户注册的代码,除了insert into之外,所有的异常都正常工作。 当用户在字段中输入时,它不是在数据库中插入,但存在如下错误,其中行60是插入查询。 请协助。

代码

<?php
        if(isset($_POST['register'])){
            if(empty($_POST['email']) ||  //fetching and find if its empty
            empty($_POST['level'])|| 
            empty($_POST['username']) ||  
            empty($_POST['password']))
            {
                echo "<script>alert('All fields must be Required!')</script>";
            }
        else
        {
        $check_username= mysqli_query($conn, "SELECT username FROM registered_accounts where username = '".$_POST['username']."' ");
        $check_email = mysqli_query($conn, "SELECT email FROM registered_accounts where email = '".$_POST['email']."' ");

        
        if(strlen($_POST['password']) < 6)  //cal password length
        {
            echo "<script>alert('Password Must be >=6')</script>";
        }
        elseif(mysqli_num_rows($check_username) > 0)  //check username
        {
            echo "<script>alert('username Already exists!')</script>";
        }
        elseif(mysqli_num_rows($check_email) > 0) //check email
        {
            echo "<script>alert('Email Already exists!')</script>";
        }
        else{
            $query = "INSERT INTO `register_requests`(`id`, `user_level_id`, `email`, `level`, `username`, `password`, `message`, `date`) VALUES(NULL, 2, '$email', '$level', '$username', '$password', '$message', CURRENT_TIMESTAMP)";
            mysqli_query($conn, $query);
            echo "<script>alert('Your account request is now pending for approval. Please wait for confirmation. You can try to login in 24 hours. Thank you.')</script>";

            }
        }
    }
    
    ?>

错误

Notice: Undefined variable: email in C:\xampp\htdocs\FINAL\Unisel_Marketing_System\UMD\register.php on line 60

Notice: Undefined variable: level in C:\xampp\htdocs\FINAL\Unisel_Marketing_System\UMD\register.php on line 60

Notice: Undefined variable: username in C:\xampp\htdocs\FINAL\Unisel_Marketing_System\UMD\register.php on line 60

Notice: Undefined variable: password in C:\xampp\htdocs\FINAL\Unisel_Marketing_System\UMD\register.php on line 60

Notice: Undefined variable: message in C:\xampp\htdocs\FINAL\Unisel_Marketing_System\UMD\register.php on line 60


共1个答案

匿名用户

在查询中:“$email”,“$level”,“$username”,“$password”,“$message”没有值。 你从来没有给他们任何价值观。

在查询之前执行以下操作:

$email = $_POST['email'];
$username = $_POST['username'];
etc...

当然,还要使用准备好的语句。 您编写的SQL查询(即使是正确的)是完全危险的。