Sprawdzanie zajętości loginu
Obecnie nasza rejestracja ma jeden problem - nowy użytkownik naszej strony może zarejestrować się pod już istniejącym loginem, co oczywiście jest niedopuszczalne.
Dla rozwiązania problemu należy przed żądaniem
dodania nowego użytkownika do bazy
danych, wykonać zapytanie SELECT, które
sprawdzi, czy pożądany login jest zajęty czy nie. Jeśli
nie jest zajęty - rejestrujemy, jeśli jest zajęty - nie
rejestrujemy, a wyświetlamy komunikat o tym.
Napiszmy ten 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 {
// login zajęty, wyświetlimy komunikat o tym
}
}
?>
Zmodyfikuj swój kod tak, aby przy próbie rejestracji wykonywała się kontrola zajętości loginu i, jeśli jest zajęty, - wyświetlaj komunikat o tym i proś o wprowadzenie innego loginu.