简体   繁体   中英

Unknown issue with PHP registration form

I'm trying to make a PHP login system, and I can't figure out what's causing it to not work.

Below is the PHP code from the register page. When executed, it fails to create a new user account.

<?php

if(isset($_POST['submit_btn']))
{
    $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("This Username Already exists.. Please try another username!")</script>';
        }
        {
            $query= "insert into user values('$username','$password')";
            $query_run = mysqli_query($con,$query);

            if($query_run)
            {
                echo '<script type="text/javascript">alert("User registered. Please login")</script>';
            }
            else
            {
                '<script type="text/javascript">alert("Error!")</script>';
            }
        }
    }
}

?>

The problem is here

if($_password==$_cpassword)

You'd defined these variables:

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

So, use $password and $cpassword instead

if($password == $cpassword)
...

By the way, your code is vulnerable to SQL injection attack. Use prepared statements .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM