I just made a signup form and I encountered a problem when I added the final validations (the MySQL ones).
This is the error that I get: Parse error: syntax error, unexpected 'elseif' (T_ELSEIF) in C:\xampp\htdocs\Signup\includes\signup.php on line 72
Row 72 has been marked to help you figure it out.
else
{
require_once("db_connect.php");
// Email validation
$query_email="SELECT email FROM users WHERE email='$email'";
$result_email=mysql_query($query_email) or die (mysql_error());
if (mysql_num_rows($result_email)>0)
{
echo "You already have an account registered on this email.";
}
// Username validation
$query_username="SELECT username FROM users WHERE username='$username'";
$result_username=mysql_query($query_username) or die (mysql_error());
elseif (mysql_num_rows($result_username)>0) /* !!! ROW 72 !!! */
{
echo "Username already registered. Pick something else";
}
// Add new user to database
else
{
$query="INSERT INTO users VALUES ('', '$username', '$password', '$email', '$first_name', '$last_name', '$birthday', '$sex', '', '$registered', '')";
mysql_query($query) or die (mysql_error());
echo "User created!";
}
}
If I comment everything between // Username validation and // Add new user to database everything works OK (except for the fact that I don't have a username validation).
In case you wonder what $username is:
$username = mysql_real_escape_string($_POST['username']);
I've read some of the questions on SO about unexpected elseif but I just don't get it in my case. The brackets seem alright and elseif is supplied with a condition. Please let me know before downrating so I can edit my question. Thanks!
$query_username="SELECT username FROM users WHERE username='$username'"; $result_username=mysql_query($query_username) or die (mysql_error());these 2 lines need to be moved - XaxDmysql_*functions are deprecated in PHP 5.5. It is not recommended for writing new code as it will prevent you from upgrading in the future. Instead, use either MySQLi or PDO and be a better PHP Developer. - Jason McCreary