Kasutajanime hõivatuse kontroll
Praegu on meie registreerimisel üks probleem - meie saidi uus kasutaja saab registreeruda juba olemasoleva kasutajanime all, mis loomulikult ei ole vastuvõetav.
Probleemi lahendamiseks on vaja enne uue
kasutaja andmebaasi lisamise päringut
teha SELECT päring, mis
kontrollib, kas soovitud kasutajanimi on
hõivatud või mitte. Kui
ei ole hõivatud - registreerime, kui on hõivatud - ei
registreeri, vaid kuvame sellest teate.
Kirjutame selle koodi:
<?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 {
// kasutajanimi on hõivatud, kuvame sellest teate
}
}
?>
Muutke oma koodi nii, et registreerumise katse korral kontrollitakse kasutajanime hõivatust ja kui see on hõivatud, - kuvage seliest teade ja paluge sisestada teine kasutajanimi.