sql >> Database >  >> RDS >> Mysql

login met gebruikersnaam of e-mailadres in php

De login-parameter is hetzelfde voor zowel e-mail als gebruikersnaam. Niet bepaald onjuist als je een enkele inlogbox hebt die beide accepteert.

U kunt de voorwaarde in de zoekopdracht zelf plaatsen als u niet zeker weet of het een e-mail of gebruikersnaam is.

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

Bewerken: Een PDO-achtige oplossing heeft tegenwoordig veel meer de voorkeur omdat bovenstaande onderhevig is aan SQL-injectie. De logica blijft hetzelfde, maar je zou het er ongeveer zo uit laten zien:

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


  1. Overmatige MySQL-activiteit

  2. MySQL 'schema maken' en 'database maken' - Is er een verschil?

  3. MySQL Inzicht in Basic Joins

  4. Gegevens uit twee tabellen selecteren met een enkele query