Как при помощи PHP и MySQL создать систему регистрации и авторизации пользователей
Безопасная система авторизации и регистрации считается одним из самых важных элементов при разработке проекта с нуля. Один из подходящих способов — это создание системы регистрации при помощи PHP и MySQL .
Хотя во всемирной сети имеется множество пособий на данную тему, многие из них предназначается для продвинутых пользователей.
Данная статья расскажет про то, как создать обычную версию системы авторизации и регистрации пользователей с применением PHP и MySQL для начинающих. Давайте начинаем!
Ресурсы, нужные для работы с этим руководством:
- Xampp ( PHP версии 5.3 или более поздней и MySQL версии 4.1.3 или более поздней );
- Основные знания по PHP , HTML и CSS ;
- Время и упорство.
Что мы создаём
Скачать ZIP-архив
Настройка сервера
Вы можете применить любой хостинг с поддержкой PHP и MySQL ( только поймете, что он поддерживает PHP версии 5.3 или более поздней и MySQL версии 4.1.3 или более поздней ).
Но в данной статье в качестве сервера будет применяться Xampp . Если до этого не работали с Xampp , данная статья поможет вам разобраться, как его подобающим образом установить на вашем компьютере.
Шаг 1 – MySQL
Во-первых, создайте базу данных и таблицу, которая содержит все регистрационные данные. Вы можете сделать это вручную при помощи графического интерфейса пользователя PhpMyAdmin или применять для вставки данной информации SQL .
Взгляните на нижеприведенный код SQL :
Нужно обратить внимание, что все данные собой представляют varchar , и даже пароль позднее будет преобразован в символ md5 , чтобы обеспечить его безопасность.
Более того, примените auto_increment для автоматизированного назначения идентификаторов или номеров пользователям, которые будут регистрироваться в системе.
Теперь, когда таблица создана, необходимо задать разметку и стили CSS , а потом PHP -код.
Шаг 2 — Разметка
Для размечивания, нам необходимо включить три файла, и все они обязаны быть сохранены в формате « .php «, так как мы создаём программу сценариев на стороне сервера.
Сначала создайте файл login.php . Скопируйте в него нижеприведенный код:
При помощи этого кода вы обретете результат, который показан на рисунке ниже:
Дальше, создаём файл register.php . Скопируйте и вставьте в него нижеприведенный код:
При помощи этого кода вы получите следующий результат:
Дальше, создаём файл intropage.php . Он будет служить в качестве страницы приветствия после того, как пользователь удачно авторизовался в системе:
Этот код даст нам следующий результат:
Шаг 3 — CSS
Теперь, когда разметка готова, необходимо добавить CSS -код. Как правило, он содержит стили для класса страниц container, и еще для кнопок и некоторых иных элементов, например как текстовые поля и лайки:
К данному времени, вы уже должны получить тот же результат, что и на изображении, приведенном перед началом статьи.
Шаг 4 — Многоразово применяемые детали
Теперь, когда у вас готовы разметка и стили CSS , попробуйте применять такие многоразово применяемые детали, как раздел заголовка и раздел подвального помещения. В корневой папке создайте новую папку и назовите ее “ includes “.
В ней будут содержаться все включаемые файлы. Потом в папке includes создайте новый файл и назовите его header.php . Скопируйте часть раздела заголовка в любой из трех PHP -файлов, созданных нами раньше. Аналогичным образом, у вас выйдет:
Следующее, что вам необходимо сделать, это удалить разметку, скопированную из файла header.php во всех трех PHP -файлах и ее заменить следующим PHP -кодом:
Теперь, сделайте то же самое с подвальным этажом. Скопируйте нижеприведенный код и вставьте его в новый файл footer.php . Он будет в себя включать раздел подвального помещения:
Потом опять уберите данную часть во всех трех файлах PHP и поменяйте ее следующим кодом:
Шаг — 5 Подключение к базе данных
Теперь, когда вы включили файлы разделов заголовка и подвального помещения, пора создать новый включаемый файл. Назовите его constants.php и скопируйте в него следующий код:
В приведенном выше коде, мы создали константы информации базы данных. Теперь мы можем легко менять информацию постоянно, когда это нужно.
Дальше, в папке includes создайте новый файл и назовите ее connection.php . В нем будут сберегаться коды подсоединения к базе данных. Скопируйте и вставьте в него код, нижеприведенный:
Нужно обратить внимание, что вам обязательно требуется файл constants.php . Если при подключении появится ошибка, с его помощью будет остановлено выполнение скрипта и выдано сообщение об ошибке.
Включите файл connection.php в файлах login.php и register.php , так как эти два файла нужны для кода управления подключением. Скопируйте нижеприведенный код и вставьте его перед включением файла header.php :
Шаг — 6 Конфигурация файла register.php
Теперь нужно изменить форму регистрации в полную систему регистрации. Чтобы выполнить это, необходимо добавить включение еще нескольких файлов PHP после включения header.php . Скопируйте и вставьте нижеприведенный код в файл register.php :
В приведенном выше коде, нужно обратить внимание, что перед прибавлением данных в базу выполняется их валидация. Переменная message применяется для хранения сообщения об ошибках или об успешном выполнении действия.
Шаг — 7 Конфигурация файла login.php
Теперь, когда пользователи могут регистрироваться на ресурсе, нужно создать систему авторизации. При помощи этого довольно простого PHP -кода, вы можете включить систему авторизации. Скопируйте код и вставьте его перед разметкой в файл login.php :
В приведенном выше коде, перед перенаправлением пользователя на страницу intropage.php , которую мы добавим немного позднее, вы прежде всего должны проверить, была ли поставлена сессия .
В другом случае, если сессия не была поставлена, пользователю при помощи переменной message будет выдаваться сообщение об ошибке или он перенаправиться на страницу login.php .
Шаг — 8 Конфигурация файла intropage.php
Мы установили все, что необходимо для файлов register.php и login.php . Теперь вы просто должны обеспечить, чтобы пользователь оставался в системе при перенаправлении на страницу intropage.php . Скопируйте и вставьте нижеприведенный код в файл intropage.php :
Нужно обратить внимание, что оператор if создали для контроля, поставлена ли сессия, и исходя от этого должен ли пользователь перенаправляться на страницу login.php или остаться на странице intropage.php .
Шаг — 9 Конфигурация файла logout.php
Наконец, чтобы пользователь мог выйти из системы, необходимо удалить сессию при помощи session_destroy .
Скопируйте данный код в файл logout.php :
Заключение
Сегодня мы выяснили, как создать обычную систему авторизации, применяя PHP и MySQL . Разумеется, есть множество нюансов, которые необходимо брать во внимание, когда говорим о безопасности, однако это уже хорошее начало.
Вы можете менять приведенные в данной статье коды на свое усмотрение. Если у вас есть идеи по их улучшению, буду рад услышать об этом в комментариях.
Надеюсь, привлекла ваше внимание данная статья. Увидимся в следующий раз!
Эта статья собой представляет перевод статьи « How to Create a Login and Registration System Using PHP and MySQL » , подготовленной дружной командой проекта Интернет-технологии.ру
Как сделать регистрацию для сайта на PHP + MySQL (Рейтинг: +24 )
Печать / RSS Довольно часто новички встречаются с трудностью написания регистрации у себя на ресурсе. В данной статье я расскажу как ее сделать.
Распишу все поэтапно.
Шаг 1. Подключение к базе данных MySQL.
Создадим файл db_connect.php:
Шаг 2. Создадим таблицу для пользователей.
CREATE TABLE `users_profiles` (
`user_id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(32) NOT NULL,
`password` varchar(32) NOT NULL,
PRIMARY KEY (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Шаг 3. Создадим файл handler.php — этот файл содержит проверку на авторизацию пользователя.
Шаг 4. Пишем регистрацию.
Для этого создадим файл register.php и напишем в нем следующим код:
Шаг 5. Делаем авторизацию.
Для этого создайте файл login.php
Шаг 6. Выход пользователя.
Каждый юзер должен выходить из сайта, если он этого желает. Для этого создадим файл exit.php
Шаг 7. Создание главной страницы сайта.
Создадим последний файл — index.php
Для настройки создайте файл .htaccess и впишите в него следующее:
php_value register_globals 0
php_value magic_quotes_gpc 0
php_value zlib.output_compression 1
Тем кому лень делать это все, качайте архив.
Благодарю за внимание!
С ув. Егор Смоляков.
Автор: iNeeXT (31.07.2012 / 19:13)
регистрация, авторизация
О регистрации, очень простая, скрипт, скачать, пример
Что такое регистрация, как сделать регистрацию на ресурсе, как пройти регистрацию пользователю, форма для оформления – доказательство при регистрации какие еще слова забыл: скачать готовый скрипт регистрации! Сегодня попытаемся разобраться, как сделать незамысловатую регистрацию, и регистрация поэтапно!
Все о регистрации
Что такое регистрация!?
Регистрация — это созидательный процесс данных пользователя сам пользователем на ресурсе!
Алгоритм регистрации на ресурсе
Регистрация поэтапно с нуля на файлах
Скрипт регистрации в одном файле — файл registration.php :
С чего начинается регистрация!?
Форма отправки данных для оформления
Форма для отправки данных при регистрации находится в самом низу файла
3.35). Первая строка формы, информация о состоянии =>
3.5). Заполняем поле имя — это ваше имя админа сайта(строка № 12), для правильной работы формы =>
Вы же готовитесь отправлять какие-оповещения пользователю!? Благодаря этому необходимо как минимум обычное обратимое шифрование
Приступаем к проверкам врученных данных для оформления!
Сделаем только нужные очень маленькие проверки данных для оформления!
3.22). Проверим на равноправие отправленных паролей : (строка № 39) =>
И если данный файл будет существовать, то выведется подходящее сообщение:
Параметры отправки сообщения html письма для оформления
Одно, что в середине письма интересно, это ссылка!
Ссылка это достаточно значимая часть письма! И ым должны на ссылке для доказательства емайл остановиться чуть детальнее!
В ссылке должен передаються какой-то ид и по нажатию по данной ссылке, должна случиться магия!
Мы как раз утверждали выше об уникальном ид и наименовании файла, и в нашу ссылку мы тоже передадим этот ид заместо переменной $md5_email! И уже потом мы данную ссылку обработаем исходя из этого!
Не стал удалить временный файл, и вы можете испытать именно сейчас, что случится, если мы кликнем в почте по нашей ссылке
3.31). Редактировать записываем данные во временный носитель (строка № 52) =>
Для доказательства вашей регистрации — пройдите по ссылке
3.32). Помещаем файл html письма (строка № 56) =>
И дальше информация, о статусе отправки сообщения.
3.34). Проверяем есть ли переменная $BAD, если да, то красим переменную в красный цвет! (строка № 67) =>
Окончание регистрации
Регистрация поэтапно с нуля на mysql
Вышеприведенный скрипт регистрации вполне подходит для оформления на mysql, можно изменить данный код, под ваши потребности! И ваши хотелки относительно базы данных mysql!
1). Наиболее простой — это в последнем пункте скрипта — записать данные которые получены в mysql база данных.
2). Если вы решительно не перевариваете применение файлов в качестве временного носителя, то в выше приведенном скрипте регистрации, вам всего-то навсего заменить все телодвижения с файлами, заменить их, на точно такое же, только с БД! Что вам необходимо знать относительно быды данных!?
Записать, получить, сопоставить(мы искали в авторизации), и когда найдете — снова записать уже в иную базу данных!
Алгоритм абсолютно подобный! Вам только нужно собрать данный пазл.
3). Я бы, разумеется, мог вам написать точно аналогичную регистрацию, но исключительно на базе данных, но по настоящему влом(возможно, когда нибудь. )! Да и не люблю я ваши базы данных!
Скачать скрипт регистрации
Регистрация собой представляет архив, в котором находятся 3 файла:
form.php — файл html каркас письма.
registration.php — ключевой файл регистрации.
translit_1_4.php — файл для кодировки емайла.
Скачать данный архив со скриптом регистрации можно ниже текста по ссылке.
Временный и постоянный носитель
Чтобы каждый раз не повторить одно и тоже — временный носитель — это может быть файл или база данных. Также и постоянный носитель — это тоже может быть, как файл, так и база данных : относительно постоянного носителя — хранение данных пользователя в базе данных, либо в файле — это только способ сохранения информации и не больше.
В связи с наступившей некоторой путаницей необходимо сделать несколько объяснений! А то я сам начал забывать, что к чему.
Сколько вариантов регистраций сейчас есть!?
Разбросаем регистрацию по времени создания!
1). Первая регистрация из 5 файлов
1.1). : action.php + config.php + css.css + form.php + registration.php
1.2). есть пример
1.3). Скачать архив
1.4). Тут есть видео:
Для этого варианта регистрации есть видео:
2). Вторая настоящая регистрация
2.1). Настоящая регистрация на файлах с полным циклом! Переключение в форме при помощи js
2.2). Форма входа
2.3). Скачать тут
2.4). Тут есть видео:
Для этого варианта регистрации есть видео:
3). Регистрация в одном файле
Решили усовершенствовать старый вариант регистрации! Что выполнили!?
Улучшили и оставили одну регистрацию! -> Регистрация поэтапно с нуля на файлах, которую можно применять, как для файлов так же и для базы данных!
+ Плюс к тому, уже большое количество времени прошло(наши знания поменялись. ) и можем сделать это очень простенько и ясно, насколько возможно!
Скачать на главной скриптов + внизу и пример, и скачать к этому варианту.
Вас может еще вызвать интерес перечень тем : #PHP | #FORM | #REGISTRATION |
Наши ПРОЕКТЫ : Проекты находятся в различной степени готовности (просто их столько, что времени не хватает…)