Login-parameteren er den samme for både e-mail og brugernavn. Ikke ligefrem forkert, hvis du har en enkelt login-boks, der accepterer enten.
Du kan indsætte betingelsen i selve forespørgslen, hvis du ikke er sikker på, om det er en e-mail eller et brugernavn.
$login=$_REQUEST['login'];
$query = "select * from user_db where ( username='$login' OR email = '$login') and password='$password'"
Rediger: En PDO-lignende løsning er meget mere foretrukket i dag, da ovenstående er underlagt SQL-injektion. Logikken forbliver den samme, men du vil have det til at se sådan ud:
$query = "
SET @username = :username
SELECT * FROM user_db
WHERE ( username = @username OR email = @username)
AND password = :password
";
$statement = $pdoObject->prepare($query);
$statement->bindValue(":username", $login, PDO::PARAM_STR);
$statement->bindValue(":password", $password, PDO::PARAM_STR);
$statement->execute();