Prüfung der Login-Verfügbarkeit
Unsere Registrierung hat derzeit ein Problem - ein neuer Benutzer unserer Website kann sich mit einem bereits existierenden Login registrieren, was natürlich nicht akzeptabel ist.
Um das Problem zu lösen, muss vor der Anfrage
zum Hinzufügen eines neuen Benutzers in die Datenbank
eine SELECT-Abfrage ausgeführt werden, die
prüft, ob der gewünschte Login vergeben ist oder nicht. Wenn
er frei ist - registrieren wir, wenn er belegt ist -
registrieren wir nicht, sondern geben eine entsprechende
Meldung aus.
Lassen Sie uns diesen Code schreiben:
<?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 ist belegt, geben Sie eine Meldung darüber aus
}
}
?>
Modifizieren Sie Ihren Code so, dass bei einem Registrierungsversuch eine Prüfung auf Login-Belegung durchgeführt wird und, wenn er belegt ist, - eine Meldung darüber ausgeben und auffordern, einen anderen Login einzugeben.