Jump to content

[SOLVED] Problems with if / else in user authentication


advancedfuture

Recommended Posts

I wrote a simple registration form to signup new users.... It creates new users in the DB no problem, however it skips the IF statement and goes straight to the else statement for some reason... so its allowing people to register the same username over and over.... what am I doing wrong ?

 

<?

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

include 'dbConnect.php';

$query = "SELECT * FROM users WHERE username = '$username'";
$results = mysql_query($query);

if($results > 0)
{
echo "Sorry Username is already taken";
}

else
{
$insert = "INSERT INTO users (username, password) VALUES ('$username', '$password')";
mysql_query($insert);
echo "Registration Successful";
}
?>

try this and see if it work:

 

<?php

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

include 'dbConnect.php';

$query = "SELECT * FROM users WHERE username = '$username'";
$results = mysql_query($query);

if($results == $username )
{
echo "Sorry Username is already taken";
exit;
}

else
{
$insert = "INSERT INTO users (username, password) VALUES ('$username', '$password')";
mysql_query($insert);
echo "Registration Successful";
}
?>

<?php

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

include 'dbConnect.php';

$sql = "SELECT * FROM users WHERE username = '$username'";
$results = mysql_query($sql);
$num=mysql_num_rows($results);
if($num >0) {
$error = $tblstart . 'Username Is Taken!' . $tblend;
}
else
{
$insert = "INSERT INTO users (username, password) VALUES ('$username', '$password')";
mysql_query($insert);
echo "Registration Successful";
}
// Hope that helps!
?>

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.