Vérification de la disponibilité du login
Notre système d'inscription a actuellement un problème - un nouvel utilisateur de notre site peut s'inscrire avec un login déjà existant, ce qui, bien entendu, est inacceptable.
Pour résoudre ce problème, il est nécessaire avant la requête
d'ajout d'un nouvel utilisateur dans la base de
données, d'exécuter une requête SELECT qui
vérifiera si le login souhaité est pris ou non. S'il
est libre - on inscrit l'utilisateur, s'il est pris - on ne
l'inscrit pas, et on affiche un message à ce sujet.
Écrivons ce code :
<?php
if (!empty($_POST['login']) and !empty($_POST['password'])) {
$login = $_POST['login'];
$password = $_POST['password'];
$query = "SELECT * FROM users WHERE login='$login'";
$user = mysqli_fetch_assoc(mysqli_query($link, $query));
if (empty($user)) {
$query = "INSERT INTO users SET login='$login', password='$password'";
mysqli_query($link, $query);
$_SESSION['auth'] = true;
} else {
// login est occupé, afficher un message à ce sujet
}
}
?>
Modifiez votre code afin que lors d'une tentative d'inscription, une vérification de la disponibilité du login soit effectuée et, s'il est déjà pris, - affichez un message à ce sujet et demandez d'entrer un autre login.