Создадим 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.