Авторизация

Снять ограничение

Сообщение не отправлено!
Ваши данные получены!
Ждите по E-mail счёт для оплаты!
Имя - только русские буквы!
Введите корректный E-mail!
Это обязательное поле!
Не правильный код безопасности!

Онлайн Поддержка

ГлавнаяСкрипты java и phpСкрипт регистрации и авторизации

PHP скрипт регистрации и авторизации для сайта

Регистрация и авторизация

Предлагаю вашему вниманию очень простой и функциональный скрипт регистрации и авторизации на сайте, который состоит из 3-ёх файлах PHP с подключением 2-ух java скриптов, с помощью которых ошибки выводятся в самой форме без перезагрузки страницы.

Форма регистрации и авторизации имеет хорошую защиту от внедрения в неё каких-либо кодов и выводит автоматом системные сообщения пользователю.

Скрипт был успешно протестирован на версии PHP 5.3.3

Что умеет и имеет скрипт:
  • Регистрировать новых пользователей;
  • Авторизовывать пользователей и записывать куки на определённый срок (нет необходимости каждый раз авторизовываться);
  • Показывать и скрывать определённую информацию для авторизованных и не авторизованных соответственно;
  • Имеет АДМИН ПАНЕЛЬ, где можно редактировать все данные и удалять пользователей.

Работу скрипта регистрации можно опробовать на этой странице
( вход вверху, - кнопка "Войти на сайт" ).

Данные для входа:
Логин: test@test.ru
Пароль: 12345

Регистрация у меня здесь отключена, чтобы не засорять Базу Данных, - её вы опробуете у себя, когда скачаете и установите скрипт.

Установка скрипта регистрации и авторизации на сайте.

1 ШАГ.
Если вы используете скрипт регистрации и авторизации на локалке с помощью DENWER, то изменения в файлах для соединения с базой данных делать не нужно.
В противном случае откройте файлы: stayt.php и classes/Auth.class.php, и в самом верху замените данные для связи с базой данных на свои.

2 ШАГ.
Переходим (если используете DENWER) по адресу: http://localhost/Tools/phpmyadmin/ , если на хостинге, то нажимаете Базы Данных, и создаёте новую базу с именем: registr и сравнение: utf8_general_ci.
Вы можете задать разумеется своё имя, но тогда замените его обязательно в файлах для соединения с базой (см. шаг 1).

3 ШАГ.
Нажмите на созданную базу registr и затем на верхнюю вкладку SQL и в появившееся окно для ввода вставьте этот код и нажмите ОК.


CREATE TABLE IF NOT EXISTS `my_users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL,
  `names` varchar(15) NOT NULL,
  `password` varchar(255) NOT NULL,
  `salt` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;

Всё! Переходите в браузере по своему адресу, пробуйте и экспериментируйте.

Админ Панель

После того, как вы сделали хоть одну регистрацию, можете перейти в АДМИНКУ.
Вход в АДМИН-ПАНЕЛЬ:


http://Ваш_сайт.ru/adminka/

Не забудьте запоролить эту папку для безопасности и можно так же переименовать её.
При открытие Админ Панели нажмите кнопку ПОИСК и вам отобразятся все зарегистрированные пользователи, где при нажатие на определённый номер ID, вам откроются данные пользователя для редактирования.

Можно так же быстро найти пользователя по его E-mail, для этого достаточно ввести в поле для ПОИСКа известную электронную почту и нажать на кнопку.
Кнопкой ДОБАВИТЬ не советую пользоваться, так как пользователь добавляется в систему без пароля. И не имею понятия зачем её вообще сделали.

На этом всё, что не получается или не понятно, - задавайте вопросы.

Скачать скрипт регистрации и авторизации пользователей

Рейтинг: 4.6/5     Оценили: 94

Рекомендую почитать

Снять ограничение

Стоимость просмотра скрытой информации - 10 рублей.
На ваш E-mail поступит счёт, и после оплаты вы получите доступ к странице на месяц.

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

Андрей

User: АндрейСпасибо за рабочий скрипт регистрации и авторизации.
Подскажите пожалуйста, не разберусь, а как сделать скрытую информацию от неавторизованных пользователей?
И попутно, как на странице с регистрацией сделать так, чтобы форма от авторизованных пользователей была скрыта.
Спасибо)))

Админ

User: Админ→ Андрей
Добрый день!
Да, вы просто до конца не разобрались, - там весь код налицо.
Чтобы скрыть информацию от неавторизованных лиц, а так же скрыть форму регистрации, либо показать другую информацию - применяется один и тот же код.

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

Андрей

User: Андрей→ Админ
Круто, спасибо огромное, буду ковыряться дальше.

Наталья

User: НатальяСкажите, я правильно понимаю, что index.html является шаблоном для всех последующих страниц?
И ещё: у вас на этой странице вы сделали общий Логин для демонстрации и показа функционала скрипта регистрации, и для этого логина есть ограничения - нельзя оплатить, нельзя посмотреть скрытую информацию и т.д., хотя и авторизован.
Так вот вопрос: каким образом вы это сделали, если конечно это тот же скрипт, что и мы скачиваем? Благодарю за внимание!

Админ

User: Админ→ Наталья
Я использую этот же скрипт авторизации, а добился я такого результата с помощью добавления полей в таблицу БД, то есть как бы разграничил пользователей по группам.
И на сайте для авторизованных я ставлю дополниетльные условия, что и успешно решает мои задачи.
По поводу index.html - вы всё правильно поняли.

Наталья

User: Наталья→ Админ
Добрый вечер! Я не совсем ясно понимаю об условиях, что вы описали.
Если вам не трудно опишите подробней.

Админ

User: Админ→ Наталья
Здравствуйте, Наталья!
Добавляю к примеру в таблицу (MySQL) дополнительное поле (нет разницы в какое место: в начало, в середину или в конец таблицы) с именем oplata и задаю по умолчанию 0. То есть все пользователи, которые зарегились будут иметь значение 0 для данного поля.
Как вы только оплатили я в БД меняю это значение на 1, разумеется именно для вас, и вы сразу просматриваете весь скрытый текст.
А в странице, чтобы это заработало, я прописываю следующее условие PHP:
Информация скрыта! - снять ограничение
Здесь срабатывают 2 правила: вы авторизованы и вы имеете точное совпадение для ячейки oplata, и вам открывается весь контент.
Этот пример для более ясного понимания, а на самом деле у меня прописано 4 условия: это совпадение по дате окончания, совпадение по адресу страницы и так далее.

Михаил

User: МихаилПосмотри пожалуйста мой код, всё сделал как ты описывал, но у меня после внедрения этого кода стала открываться белая страница.
Я понимаю, что дело в нём, но ошибку найти не могу, вот код:

if($arr['okey'] == 3) {
echo '<button id='esli' class='wm_temp' value='Скачать'></button>';

Админ

User: Админ→ Михаил
Исправьте одинарные ковычки (здесь это не допустимо) на двойные и будет счастье.

if($arr['okey'] == 3) {
echo '<button id="esli" class="wm_temp" value="Скачать"></button>';

Сергей

User: СергейДобрый день! Вы ранее в комментариях обмолвили про условие с окончанием даты, а я как раз с этим столкнулся.
Моя проблема: я добавил в таблицу 2 поля, - это dates дата регистрации и dates_end окончание даты.
Так вот какой мне нужно прописать PHP код в условие, чтобы когда закончился срок даты, то для пользователя информация стала скрытой автоматом.

P.S. Извиняюсь, вы писали, что используете 4 условия, так вот если не затруднит, напишите как правильно хотя бы 2 написать, а я дальше разберусь.
С большим уважением!

Админ

User: Админ→ Сергей
Добрый вечер!
Я сам использую такое условие (оплата на месяц), вот код с 2-мя условиями и с вашим примером:
Информация скрыта! - снять ограничение
Дату прописывайте в таблице обязательно такого формата: 24.03.2018

Наталья

User: НатальяЭто снова я, приветствую!
Скажите, а можно использовать на главной странице, да и на всех последующих сразу две формы: Авторизация и Регистрация?
Я попробовала и у меня не получается: нажимаешь на Авторизация, а скрипт проверяет поля и у формы Регистрация и идут соответственно ошибки и ничего не отправляется.
Возможно так реализовать? Спасибо!

Админ

User: Админ→ Наталья
Доброе утро!
Да, я пробовал для удобства пользователей совместить сразу две формы Авторизация и Регистрация на одной странице.
У вас не получилось из-за того, что обе формы обрабатывает один и тот же обработчик PHP.

Я сделал так:
Для неавторизованных разумеется: прописал форму Авторизации и под ней поставил ссылку на Регистрацию, при клике на которую, открывалась форма уже в модальном окне.
И получается, что вроде обе формы на одной странице, но каждая работает независимо.

Олег

User: ОлегДоброго времени!
Применил ваш вышеописанный способ для объединения форм на одной странице, всё изумительно, но единственное НО.
При успешной регистрации пользователя перекидывает на главную страницу, а хотелось бы чтобы он оставался на той же, где и находился.
Согласитесь, так не очень удобно! Как это можно сделать? Заранее, благодарен!

Админ

User: Админ→ Олег
Совершенно с вами согласен!
Изначально по шаблону форма регистрации находится только на странице registr.html и соответственно для неё и предусмотрен редирект на главную страницу.

А для вашего случая, чтобы пользователь после успешной регистрации оставался на той же странице, нужно сделать одну поправку.
Необходимо подправить:
Информация скрыта! - снять ограничение

Марина

User: МаринаЯ уже порядком перепробовала разных скриптов с регистрацией и этот пока что радует своей легкостью и простотой, спасибо ))
Единственное на мой взгляд, минусом здесь является то, что нет функции забытого пароля и при регистрации в поле Ваше имя обязательно вводить русские буквы, а в остальном всё устраивает.

Админ

User: Админ→ Марина
Я бы не назвал это минусами, у вас по всей видимости просто маловато опыта

1. Что Восстановление пароля, что Подтверждение регистрации основано на отправке писем с вашего сервера. Почта Mail.ru со своими фильтрами такие письма будет игнорировать - пользователи их не получат вовсе (их даже в СПАМе не будет). А основная масса пользователей сидит как раз на этой почте.

Почему так происходит:
Мы как правило выбираем подешевле хостинг, на котором расположено не один десяток разных сайтов и все имеют один IP адрес. Стоит одному лишь сайту проштрафиться, как клеймо ложится на все другие сайты разом. Да и SMTP сервер должен быть настроен грамотно.

2. Русские буквы в поле имя я сделал сам для безопасности.
Во-первых этим самым я предотвращаю путь для СПАМЕРОВ, в основном в своих программах для рассылки спама они используют ЛОГИН на латинице. Как только я применил это ко всем своим формам (обратная связь, комментарии) - поверьте спам пропал совсем.
Во-вторых невозможно внедрить никакой код для взлома в это поле.

Запомните!
Если ваш сайт написан на HTML, то взломать его можно только в 2-ух случаях: через обратную связь (комментарии), либо взломать ваш сервер (от вас уже это не зависит).
Я надеюсь изложил доходчиво.

P.S. А кто вам мешает изменить условие проверки для этого поля?

 elseif(isset($names) && !preg_match("/[А-Яа-я]/i", $names)) {
   $this->setFieldError("names", "Имя содержит только русские буквы");
return; }
Чего-то я расписался здесь, получилась целая статья(((