Verificação de disponibilidade de login
Atualmente, nosso registro tem um problema - um novo usuário do nosso site pode se registrar com um login já existente, o que, é claro, é inaceitável.
Para resolver o problema, é necessário antes da solicitação
de adição de um novo usuário ao banco de
dados, executar uma consulta SELECT que
verificará se o login desejado está ocupado ou não. Se
não estiver ocupado - registramos, se estiver ocupado - não
registramos, e exibimos uma mensagem sobre isso.
Vamos escrever este código:
<?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 ocupado, exiba uma mensagem sobre isso
}
}
?>
Modifique seu código para que, na tentativa de registro, seja realizada uma verificação de disponibilidade do login e, se estiver ocupado, - exiba uma mensagem sobre isso e peça para inserir outro login.