mardi 4 août 2015

Not checking for User if existing [duplicate]

This question already has an answer here:

I have spent hours to check if a users exists or not. Whether there is a little typo or I completely messed up that stuff.

Here is my code:

if($_POST['username']) {
    if ( $password == $c_password ) {

        $db_name     = '*';
        $db_user     = '*';
        $db_password = '*';
        $server_url  = '*';

        $mysqli = new mysqli($server_url , $db_user, $db_password, $db_name);


        /* check connection */
        if (mysqli_connect_errno()) {
            error_log("Connect failed: " . mysqli_connect_error());
            echo '{"success":0,"error_message":"' . mysqli_connect_error() . '"}';
        } else {

            $check="SELECT * FROM USER WHERE 'Name'='". $username."'";
            $rs = mysqli_query($mysqli,$check);



             $data = mysqli_fetch_array($rs, MYSQLI_NUM);
             echo $data;
            if($data[0] > 1) {
                echo "User Already in Exists<br/>";
                                }

                else
            {

            $stmt = $mysqli->prepare("INSERT INTO USER (Name, Password) VALUES (?, ?)");
            $password = md5($password);
            $stmt->bind_param('ss', $username, $password);

            /* execute prepared statement */
            $stmt->execute();

            if ($stmt->error) {error_log("Error: " . $stmt->error); }

            $success = $stmt->affected_rows;

            /* close statement and connection */
            $stmt->close();

            /* close connection */
            $mysqli->close();
            error_log("Success: $success");

            if ($success > 0) {
                error_log("User '$username' created.");
                echo '{"success":1}';
            } else {
                echo '{"success":0,"error_message":"Username Exist."}';
            }}
        }
    } else {
        echo '{"success":0,"error_message":"Passwords does not match."}';
    }
} else {
    echo '{"success":0,"error_message":"Invalid Username."}';
}

It keeps registering users even though I added a check inside. The echo does not give me a accurate feedback on how to fix this issue...

Best, Dan



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire