Занесение пользователей в таблицу. Предотвращение регистрации повторного логина - MySQL

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Пытаюсь сделать регистрацию на сайте, но пока не выходит. Постоянно выводит ошибку:"Пользователь с таким логином уже существует в базе данных". Имеется такой код:
Листинг программы
  1. <? header("Content-Type: text/html; charset=utf-8");
  2. // Страница регистрации нового пользователя
  3. # Соединяемся с БД
  4. $link=mysqli_connect("***", "***", "***", "***");
  5. if(isset($_POST['submit']))
  6. {
  7. $err = array();
  8. # проверим логин
  9. if(!preg_match("/^[a-zA-Z0-9]+$/",$_POST['login']))
  10. {
  11. $err[] = "Логин может состоять только из букв английского алфавита и цифр";
  12. }
  13. if(strlen($_POST['login']) < 3 or strlen($_POST['login']) > 30)
  14. {
  15. $err[] = "Логин должен быть не меньше 3-х символов и не больше 30";
  16. }
  17. # проверяем, не существует ли пользователя с таким именем
  18. $query = mysqli_query($link, "SELECT COUNT(user_id) FROM users WHERE user_login='".mysqli_real_escape_string($link, $_POST['login'])."'");
  19. if(mysqli_num_rows($query) > 0)
  20. {
  21. $err[] = "Пользователь с таким логином уже существует в базе данных";
  22. }
  23. # Если нет ошибок, то добавляем в БД нового пользователя
  24. if(count($err) == 0)
  25. {
  26. $login = $_POST['login'];
  27. # Убираем лишние пробелы и делаем двойное шифрование
  28. $password = md5(md5(trim($_POST['password'])));
  29. mysqli_query($link,"INSERT INTO users SET user_login='".$login."', user_password='".$password."'");
  30. header("Location: login.php"); exit();
  31. }
  32. else
  33. {
  34. print "<b>При регистрации произошли следующие ошибки:</b><br>";
  35. foreach($err AS $error)
  36. {
  37. print $error."<br>";
  38. }
  39. }
  40. }
  41. ?>
  42. <form method="POST">
  43. Логин <input name="login" type="text"><br>
  44. Пароль <input name="password" type="password"><br>
  45. <input name="submit" type="submit" value="Зарегистрироваться">
  46. </form>
Прошу помочь. Заранее очень благодарен.

Решение задачи: «Занесение пользователей в таблицу. Предотвращение регистрации повторного логина»

textual
Листинг программы
  1. COUNT(user_id)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы