Простая система регистрации на PHP

Для написания этой системы мы будем использовать язык серверного программирования PHP и систему управления базами данных MySQL для хранения информации о пользователях. Этот урок написан на абсолютных новичков в PHP-программировании. Возможно более опытным читателям будет скучно.

Создаём нашу базу данных.

06-05-2013-10-28-01

 

 

Дадим нашей новой базе данных какое-нибудь название и установим кодировку UTF-8.

06-05-2013-10-29-04

 

И нажимаем кнопку создать.

Следующим шагом идёт создание таблицы в базе данных, которая будет содержать информацию о пользователях. В данном уроке мы будем использовать простую таблицу с несколькими полями, но никто не мешает вам добавить в неё новые поля для своих нужд. Итак, какие поля в таблице нам потребуются:

  • UserID (Первичный ключ) — Уникальный идентификатор пользователя
  • Username – имя пользователя
  • Password – пароль пользователя
  • EmailAddress – почта пользователя

Как видите, всего четыре поля, которые будут характеризовать наших зарегистрированных пользователей.

Итак выбираем нашу базу данных.

06-05-2013-10-34-59

 

И переходим на вкладку SQL. Для создания таблицы в базе данных мы будем использовать следующий SQL-запрос:

06-05-2013-11-01-56

С базой пока всё. Теперь откроем текстовый редактор. Первым файлом нашего проекта, который мы создадим, будет файл с конфигурационной информацией, который будет подключается к каждому другому файлу.

Назовём его base.php. Он будет содержать следующий код:

 

Давайте поближе взглянем на этот код.

  • session_start() – функция, которая начинает новую сессию для каждого пользователя. Чуть позже мы будем хранить в ней информацию о пользователях, чтобы определять, кто уже авторизован.
  • mysql_connect – функция, обеспечивающая подключение нашего скрипта к базе данных, используя информацию, которую мы вынесли в отдельные переменные выше.
  • mysql_select_db – после успешного подключения нужно выбрать базу данных. Эта функция как раз это и производит.
  • Если же хотя бы одна из функций не смогла отработать по какой-либо причине, то работа нашего скрипты прекращается и выводится ошибка. За это ответственна функция die. А за вывод самой ошибки отвечает функция mysql_error().

Отлично, файл с настройками создан (вы же не забыли изменить значения переменных на свои?) и теперь подошла очередь создать главный файл – index.php.  Самой первой строчкой в нём должно быть подключение нашего конфигурационного файла.

Далее нам нужно создать базовую разметку HTML. У нас будет один главный контейнер, в который сложим заголовок и все поля для ввода данных. Ах ну да, ещё и кнопку. Пока все элементы будут некрасивыми, но это ОК. Позже преукрасим их с помощью CSS.

Прежде чем выводить содержимое страницы, у нас есть пара вопросов, на которые нужно ответить:

  1. Пользователь уже зарегистрирован?
    • ДА – показываем ему страницу с опциями для зарегистрированных пользователей
    • НЕТ – переходим к следующему вопросу
  2. Пользователь зарегистрировался и отправил свои данные?
    • ДА – Проверяем данные, регистрируем пользователя и производим авторизацию
    • НЕТ – переходим к следующему вопросу
  3. Если на оба вопроса ответ НЕТ, то выводим форму для авторизации.

Теперь давайте реализуем эти условия на языке PHP. Внутри нашего главного блока в HTML, напишем несколько конструкций If

Теперь, когда мы понимаем логику работы, давайте добавим в наши условия код для выполнения, если они соблюдены.

Идём далее.

После всего этого нам нужно сообщить пользователю об успешности авторизации и обновить страницу. Это достигается с помощью мета-тега HTML c атрибутом refresh.

Давайте взглянем на нашу страницу в браузере

06-05-2013-15-15-16

 

Великолепно! Самое время двигаться дальше. А именно – к регистрации пользователей!

Авторизация работает, но как это проверить? Правильно, нужно создать страницу, которая будет регистрировать пользователей. Открываем текстовый редактор и создаём новый файл – register.php.

Как вы уже догадались, первой его строчкой будет подключение нашего файла конфигурации.

Затем скопируем всё содержимое файла index.php в файл register.php и удалим всё, что находится в нашем главном блоке с id=”main”.

В этом файле не будет ничего принципиального нового, почти тот же код PHP.

Давайте попробуем. Зарегистрируем пользователя с логином test, а затем авторизуемся под ним.

06-05-2013-15-34-23

 

Классно, но есть один момент. Авторизовались мы успешно, но теперь я хочу выйти из своего аккаунта…А нельзя =) Откроем текстовый редактор и создадим новый файл под именем logout.php. В этом файле будет уничтожаться наша сессия и обновляться страница.

Осталось только добавить в файл index.php ссылку на этот файл.

06-05-2013-15-43-48

Вот теперь всё супер.

Мы почти закончили и теперь нам нужно придать красивый внешний вид нашей форме, чтобы было по-веселее. Открываем текстовый редактор, создаём файл style.css и в нём напишем несколько простых стилей для используемых нами элементов.

Вот и всё! Мы сделали это! Очень простая и лёгкая система. При желании можно нарастить ей сколько угодно функционала.

06-05-2013-16-11-30

 

Я не преследовал цели сделать полноценную систему регистрации пользователей, со всеми защитами от роботов, хакеров и прочих неприятностей. Никто не запрещает взять этот метод за основу и усовершенствовать его, дописать и доработать, добавить jQuery проверки без перезагрузок страниц и т.д. Всё в ваших руках!.

Alcoholism and http://www.essaysheaven.com drug dependency have ended too many successful careersprematurely, while theyve nipped no end of promising careers in the bud?
Вы можете оставить ответ, или trackback с вашего сайта.

Leave a Reply

Надо сделать сайт? Мы выгодно сделаем сайт! ©