Prisijungimo vardo užimtumo patikrinimas
Šiuo metu mūsų registracija turi vieną problemą - naujas mūsų svetainės vartotojas gali užsiregistruoti su jau egzistuojančiu prisijungimo vardu, kas, žinoma, neleistina.
Norint išspręsti šią problemą, būtina prieš pateikiant užklausą
naujam vartotojui pridėti į duomenų bazę,
atlikti SELECT užklausą, kuri
patikrins, ar norimas prisijungimo vardas yra užimtas, ar ne. Jei
neužimtas - registruojame, jei užimtas - ne
registruojame, o atvaizduojame pranešimą apie tai.
Parašykime šį kodą:
<?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 {
// prisijungimo vardas užimtas, atvaizduosime pranešimą apie tai
}
}
?>
Modifikuokite savo kodą taip, kad bandant registruotis būtų atliekamas prisijungimo vardo užimtumo patikrinimas ir, jei jis užimtas, - atvaizduokite pranešimą apie tai ir paprašykite įvesti kitą prisijungimo vardą.