Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

login com nome de usuário ou endereço de e-mail em php


O parâmetro de login é o mesmo para email e nome de usuário. Não exatamente incorreto se você tiver uma única caixa de login que aceite ambos.

Você pode colocar a condição na própria consulta se não tiver certeza se é um e-mail ou nome de usuário.
$login=$_REQUEST['login'];
$query = "select * from  user_db where ( username='$login' OR email = '$login') and password='$password'"

Editar: Uma solução do tipo PDO é muito mais preferida hoje em dia, pois a acima está sujeita à injeção de SQL. A lógica permanece a mesma, mas você teria algo assim:
$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();