Скрипт регистрации и авторизации

ГлавнаяJava скрипты → Регистрация и авторизация

Предлагаю вашему вниманию свежий (2014 год) и простой скрипт регистрации и авторизации на сайте, с помощью которого вы можете сделать закрытый доступ к выбранным страницам (или ко всем сразу) для не авторизованных пользователей. Демонстрационный пример работы этого скрипта, вы сможете воочию увидеть нажав на соответствующую кнопку ниже.

Форма регистрации и авторизации имеет хорошую защиту от внедрения в неё каких-либо кодов и выводит автоматом системные сообщения пользователю.
Скрипт регистрации взаимодействует с Базой данных MySQL, готовые таблицы которой вы найдёте в скачанном архиве (ссылка внизу).

При успешной авторизации, - пользователю выводятся его данные: логин и e-mail, где он так же может быстро и легко изменить своё имя, введённое при регистрации.

Имеется небольшая админ-панель, где администратор может редактировать и удалять зарегистрированных.

Для установки скрипта регистрации и авторизации к себе на сайт необходимо сделать пять вещей:

  • Бесплатно скачать скрипт регистрации (ссылка ниже);
  • Создать Базу данных MySQL;
  • Создать в ней таблицы (код прилагается);
  • Заменить на свои данные от Базы в файле class.loginsys.php;
  • Оформить красиво блок формы и выводы ошибок при регистрации и авторизации.

Изменения в файле class.loginsys.php


private $dbhost = "localhost";  // Ваш хост
private $dbport = "";  // Оставляем как есть
private $dbuser = "Ваш_Логин";  // Имя логина Базы данных
private $dbpass = "Ваш_Пароль";  // Пароль от Базы данных
private $dbname = "Имя_Базы";  // Имя (название) Базы данных
private $dbtable = "users";  // Имя (название) таблицы для пользователей

На Demo странице вы можете смело проверить работу скрипта: неправильно регистрироваться и авторизовываться, попробовать зайти без авторизации на закрытые страницы, сделать регистрацию и авторизацию на сайте, короче полностью оценить скрипт регистрации.
Это демонстрационный пример, и поэтому зарегистрированных пользователей я буду регулярно удалять, чтобы не загружать свою систему.

И не много о файлах в скрипте

  • index.php - главная открытая для всех страница;
  • home.php - пример закрытой страницы для не авторизованных;
  • register.php - форма регистрации с обработчиком php;
  • login.php - форма авторизации с обработчиком php.

Демонстрационная страница работы скрипта
(на примере использованы другие скрипты - более лучше)

Скачать скрипт регистрации

На этом всё, оставляйте комментарии и лайки, и спрашивайте, что не понятно.

Поделись ссылкой с друзьями:

Комментарии к статье

Андрей 12-07-2016

Спасибо за скрипт регистрации и авторизации.
Успешно использую его. Но после перехода на php7 и MySql 5.7.12-0ubuntu1.1 - (Ubuntu) перестали добавляться пользователи. Т.е. не работает INSERT

Admin 12-07-2016

Добрый день!
Если у вас нет необходимости переходить на более свежие версии, то верните как было и проблемы исчезнуть сами. Это самый оптимальный вариант.
А больше я Вам посоветовать ничего не могу к сожалению.

Андрей 13-07-2016

А я его добил! И не могу не поделиться с народом.
Глюк это или важная фишка, но INSERT не работал потому, что одно поле в таблице оставалось пустым и не заполнялось. Это поле автором было зарезервировано для отсчета времени при 5 неверных попытках входа в учетную запись. Стоило при INSERT заполнить это поле (attempt) "0" и регистрация завершилась успешно.
$sql = $this->dbh->prepare("INSERT INTO `{$this->dbtable}` (`username`, `password`, `password_salt`, `attempt`, $columns) VALUES(:username, :password, :passwordSalt, :attempt, :$colVals)");
..................
$sql->bindValue(":attempt", 0);
Не знаю кто виноват PHP или MySQL, но все поля должны иметь значения. Заметьте, ошибок никаких не возникало.
Вот такая песня малятки.

Admin 13-07-2016

Я сам этот скрипт "регистрации" только опционально опробовал, а фактически нигде не использовал.
Вот с помощью таких как вы, мы его и доведём до ума...

Юрий 18-07-2016

Андрей!
А не могли бы вы подсказать в какие строки внести изменения или еще лучше выложить исправленный файлик class.loginsys.php, столкнулся с такой же проблемой.
Заранее спасибо