Шаг 5. Реализация функции регистрации пользователя

Создадим php-файл для регистрации. Согласно ссылкам, его имя должно быть registr.php. Создадим новый файл под этим именем следующего содержания

<html>

<head>

<title>Регистрация</title>

</head>

<body>

<h2>Регистрация</h2>

<!--Начало формы регистрации. save_user.php - это адрес обработчика. То есть, после нажатия на кнопку "Зарегистрироваться", данные из полей будут переданы файлу save_user.php методом "post" -->

<form action="save_user.php" method="post">

    <!--В текстовое поле с именем name пользователь вводит свое имя -->

<p>

     <label>Ваше имя:<br></label>

     <input name="name" type="text" size="15" maxlength="15">

  </p>

<!-- В текстовое поле c именем login пользователь вводит свой логин -->      

           <p>

     <label>Ваш логин:<br></label>

         <input name="login" type="text" size="15" maxlength="15">

</p>

<!--В поле для паролей  c именем pass пользователь вводит свой пароль -->

<p>

  <label>Ваш пароль:<br></label>

      <input name="pass" type="password" size="15" maxlength="15">

</p>

<!--Кнопкой (type="submit") пользователь сможет отправить данные на обработку файлу save_user.php -->

<p>

   <input type="submit" name="submit" value="Зарегистрироваться">

</p>

</form>

</body>

</html>

То есть при нажатии на кнопку Регистрация пользователь увидит такую страницу:

Задание стилей этой формы или ее оформление в стиле всего сайта остается для самостоятельного выполнения студентам.

 

Далее необходимо написать страницу обработки save_user.php.

<?php

/*заносим введенное пользователем имя в переменную $name, если оно пустое, то уничтожаем переменную*/

if (isset($_POST['name'])) { $name = $_POST['login']; if ($login == '') { unset($login);} }

/*заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную

if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} }   

/*заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную*/

if (isset($_POST['pass'])) { $pass=$_POST['pass']; if ($pass =='') { unset($pass);} }

/*если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт*/

if (empty($login) or empty($pass))

{

   exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");

}

 

/*подключаемся к базе данных, выполняем в этом месте ранее созданный файл dbconnect.php*/

include ("dbconnect.php");

 

/* Проверяем существование в базе данных пользователя с таким же логином. Ищем в таблице users строку, где логин совпадает с тем, который ввел пользователь, и, если находим, то сохраняем его ID в переменной $result*/

$result = $mysqli->query("SELECT ID FROM users WHERE login='$login'");

 

//Преобразуем полученный набор данных в ассоциативный массив. Здесь в этом нет необходимости, но таково типовое решение. */

$myrow = $result->fetch_assoc();

 

/*Проверяем, не пусто ли в этом ассоциативном массиве значение поля с ключем ID. Если не пусто, то такой пользователь уже есть в базе данных*/

if (!empty($myrow['ID'])) {

exit ("Извините, введённый вами логин уже зарегистрирован. Введите другой логин.");

}

  // если такого нет, то сохраняем данные нового пользователя в таблицу users

$result2 = $mysqli->query ("INSERT INTO users (Name, Login, Pass) VALUES('$name','$login','$pass')");

    // Проверяем, есть ли ошибки

if ($result2=='TRUE')

{

  echo "Вы успешно зарегистрированы! Теперь вы можете зайти на сайт.

         <a href='index.php'>Главная страница</a>";

}

 else {

echo "Ошибка! Вы не зарегистрированы.";

}

?>

Перейдите на форму регистрации, заполните ее и убедитесь в том, что новая строка появилась в базе данных в таблице users.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: