Форма входа

Аутентификация пользователя

Будем учиться делать простую аутентификацию пользователей на сайте. На сайте могут быть страницы только для авторизованных пользователей и они будут полноценно функционировать, если добавить к ним наш блок аутентификации. Чтобы его создать, нужна база данных MySQL. Она может иметь 5 колонок (минимум), а может и больше, если вы хотите добавить информацию о пользователях. Назовём базу данных “Userauth”.

Создадим в ней следующие поля: ID для подсчёта числа пользователей, UID для уникального идентификационного номера пользователя, Username для имени пользователя, Email для адреса его электронной почты и Password для пароля. Вы можете использовать для авторизации пользователя и уже имеющуюся у Вас базу данных, только, как и в случае с новой базой данных, создайте в ней следующую таблицу.

CREATE TABLE `users` ( `ID` int (11) NOT NULL AUTO_INCREMENT, `UID` int (11) NOT NULL, `Username` text NOT NULL, `Email` text NOT NULL, `Password` text NOT NULL, PRIMARY KEY (`ID`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Теперь создадим файл «sql.php». Он отвечает за подключение к базе данных. Данный код, во первых, создаёт переменные для сервера и пользователя, когда он подключается к серверу. Во-вторых, он выберет базу данных, в данном случае «USERAUTH». Этот файл нужно подключить в «log.php» и «reg.php» для доступа к базе данных.

Далее страница входа, пусть она называется «login.php». Во-первых, она проверяет введённые данные на наличие ошибок. Страница имеет поля для имени пользователя, пароля, кнопку отправки и ссылку для регистрации. Когда пользователь нажмёт кнопку «Вход», форма будет обработана кодом из файла «log.php», а затем произойдёт вход в систему.

0 ) < //если есть ошибки сессии $err = "

«; //Start a table foreach ($_SESSION[‘ERRMSG’] as $msg) < //распознавание каждой ошибки $err .= "

«; //запись её в переменную > $err .= «

» . $msg . «

«; //закрытие таблицы unset ($_SESSION[‘ERRMSG’]); //удаление сессии > ?>

Имя пользователя
Пароль
Регистрация

Затем пишем скрипт для входа в систему. Назовём его «log.php». Он имеет функцию для очистки входных данных от SQL-инъекций, которые могут испортить ваш скрипт. Во-вторых, он получает данные формы и проверяет их на правильность. Если входные данные правильны, скрипт отправляет пользователя на страницу авторизованных пользователей, если нет – устанавливает ошибки и отправляет пользователя на страницу входа.

Сделаем страницу регистрации, назовём её «register.php». Она похожа на страницу входа, только имеет на несколько полей больше, а вместо ссылки на регистрацию – ссылку на login.php на случай, если у пользователя уже есть аккаунт.

0 ) < //если есть ошибки сессии $err = "

«; //начало таблицы foreach ($_SESSION[‘ERRMSG’] as $msg) < //устанавливает каждую ошибку $err .= "

«; //записывает их в переменную > $err .= «

» . $msg . «

«; //конец таблицы unset ($_SESSION[‘ERRMSG’]); //уничтожает сессию > ?>

Имя пользователя
E-mail
Пароль
Повтор пароля
У меня есть аккаунт

Теперь сделаем скрипт регистрации в файле «reg.php». В него будет включён «sql.php» для подключения к к базе данных. Используется и та же функция, что и в скрипте входа для очистки поля ввода. Устанавливаются переменные для возможных ошибок. Далее – функция для создания уникального идентификатора, который никогда ранее не предоставлялся. Затем извлекаются данные из формы регистрации и проверяются. Происходит проверка, что адрес электронной почты указан в нужном формате, а также, правильно ли повторно указан пароль. Затем скрипт проверяет, нет ли в базе данных пользователя с таким же именем, и, если есть, сообщает об ошибке. И, наконец, код добавляет пользователя в базу данных.

Ещё нужно сделать скрипт для выхода пользователя из системы. Он прекращает сессию для пользователя с данным уникальным идентификатором и именем, а затем перенаправляет пользователя на страницу входа в систему.

И, наконец, скрипт «auth.php» можно использовать, чтобы сделать страницы доступными только для авторизованных пользователей. Он проверяет данные входа и, если они верны, позволяет пользователю просматривать страницы, а если нет, просит авторизоваться. Кроме того, если кто-то попытается взломать сайт создав одну из сессий, она будет прервана, как в общем случае.

Одно из условий в коде выше является предметом вопроса в Тесте по теме Программирование PHP/MySQL.

Следующий код нужно вставить на страницу для авторизованных пользователей, она называется, например, «member.php», а у Вас может называться как угодно.

Аутентификация пользователей готова!

Источник

Аутентификация пользователя

Будем учиться делать простую аутентификацию пользователей на сайте. На сайте могут быть страницы только для авторизованных пользователей и они будут полноценно функционировать, если добавить к ним наш блок аутентификации. Чтобы его создать, нужна база данных MySQL. Она может иметь 5 колонок (минимум), а может и больше, если вы хотите добавить информацию о пользователях. Назовём базу данных “Userauth”.

Создадим в ней следующие поля: ID для подсчёта числа пользователей, UID для уникального идентификационного номера пользователя, Username для имени пользователя, Email для адреса его электронной почты и Password для пароля. Вы можете использовать для авторизации пользователя и уже имеющуюся у Вас базу данных, только, как и в случае с новой базой данных, создайте в ней следующую таблицу.

CREATE TABLE `users` ( `ID` int (11) NOT NULL AUTO_INCREMENT, `UID` int (11) NOT NULL, `Username` text NOT NULL, `Email` text NOT NULL, `Password` text NOT NULL, PRIMARY KEY (`ID`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Теперь создадим файл «sql.php». Он отвечает за подключение к базе данных. Данный код, во первых, создаёт переменные для сервера и пользователя, когда он подключается к серверу. Во-вторых, он выберет базу данных, в данном случае «USERAUTH». Этот файл нужно подключить в «log.php» и «reg.php» для доступа к базе данных.

Далее страница входа, пусть она называется «login.php». Во-первых, она проверяет введённые данные на наличие ошибок. Страница имеет поля для имени пользователя, пароля, кнопку отправки и ссылку для регистрации. Когда пользователь нажмёт кнопку «Вход», форма будет обработана кодом из файла «log.php», а затем произойдёт вход в систему.

0 ) < //если есть ошибки сессии $err = "

«; //Start a table foreach ($_SESSION[‘ERRMSG’] as $msg) < //распознавание каждой ошибки $err .= "

«; //запись её в переменную > $err .= «

» . $msg . «

«; //закрытие таблицы unset ($_SESSION[‘ERRMSG’]); //удаление сессии > ?>

Имя пользователя
Пароль
Регистрация

Затем пишем скрипт для входа в систему. Назовём его «log.php». Он имеет функцию для очистки входных данных от SQL-инъекций, которые могут испортить ваш скрипт. Во-вторых, он получает данные формы и проверяет их на правильность. Если входные данные правильны, скрипт отправляет пользователя на страницу авторизованных пользователей, если нет – устанавливает ошибки и отправляет пользователя на страницу входа.

Сделаем страницу регистрации, назовём её «register.php». Она похожа на страницу входа, только имеет на несколько полей больше, а вместо ссылки на регистрацию – ссылку на login.php на случай, если у пользователя уже есть аккаунт.

0 ) < //если есть ошибки сессии $err = "

«; //начало таблицы foreach ($_SESSION[‘ERRMSG’] as $msg) < //устанавливает каждую ошибку $err .= "

«; //записывает их в переменную > $err .= «

» . $msg . «

«; //конец таблицы unset ($_SESSION[‘ERRMSG’]); //уничтожает сессию > ?>

Имя пользователя
E-mail
Пароль
Повтор пароля
У меня есть аккаунт

Теперь сделаем скрипт регистрации в файле «reg.php». В него будет включён «sql.php» для подключения к к базе данных. Используется и та же функция, что и в скрипте входа для очистки поля ввода. Устанавливаются переменные для возможных ошибок. Далее – функция для создания уникального идентификатора, который никогда ранее не предоставлялся. Затем извлекаются данные из формы регистрации и проверяются. Происходит проверка, что адрес электронной почты указан в нужном формате, а также, правильно ли повторно указан пароль. Затем скрипт проверяет, нет ли в базе данных пользователя с таким же именем, и, если есть, сообщает об ошибке. И, наконец, код добавляет пользователя в базу данных.

Ещё нужно сделать скрипт для выхода пользователя из системы. Он прекращает сессию для пользователя с данным уникальным идентификатором и именем, а затем перенаправляет пользователя на страницу входа в систему.

И, наконец, скрипт «auth.php» можно использовать, чтобы сделать страницы доступными только для авторизованных пользователей. Он проверяет данные входа и, если они верны, позволяет пользователю просматривать страницы, а если нет, просит авторизоваться. Кроме того, если кто-то попытается взломать сайт создав одну из сессий, она будет прервана, как в общем случае.

Одно из условий в коде выше является предметом вопроса в Тесте по теме Программирование PHP/MySQL.

Следующий код нужно вставить на страницу для авторизованных пользователей, она называется, например, «member.php», а у Вас может называться как угодно.

Аутентификация пользователей готова!

Источник

Читайте также:  Url status in java
Оцените статью