Mysql
 sql >> Database >  >> RDS >> Mysql

accedi con username o indirizzo email in php

Il parametro di accesso è lo stesso sia per l'e-mail che per il nome utente. Non esattamente errato se hai una singola casella di accesso che accetta entrambi.

Puoi inserire la condizione nella query stessa se non sei sicuro che si tratti di un'e-mail o di un nome utente.

$login=$_REQUEST['login'];
$query = "select * from  user_db where ( username='$login' OR email = '$login') and password='$password'"

Modifica: Una soluzione simile a PDO è molto più preferita al giorno d'oggi poiché quanto sopra è soggetto a SQL injection. La logica rimane la stessa, ma avresti un aspetto simile a questo:

$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();