Бесплатное в сети!
» » PHP скрипт регистрации и авторизации

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

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

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

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

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

Что умеет и имеет скрипт

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

Там же DEMO и Админ Панели

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

1 ШАГ.
Если вы используете скрипт регистрации и авторизации на локалке с помощью DENWER, то изменения в файлах для соединения с базой данных делать не нужно.
В противном случае откройте файлы: stayt.php, classes/Auth.class.php и adminka/connect.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, для этого достаточно ввести в поле для ПОИСКа известную электронную почту и нажать на кнопку.
Кнопкой ДОБАВИТЬ не советую пользоваться, так как пользователь добавляется в систему без пароля. И не имею понятия зачем её вообще сделали.

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

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

Ссылка на файл: reg_login.zip

Комментарии 24
Андрей
25 июня 2018 16:14
Андрей

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

Читать полностью
25 июня 2018 16:53
Admin

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

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

Читать полностью
Андрей
25 июня 2018 23:12
Андрей

Admin, Круто, спасибо огромное, буду ковыряться дальше. stuck_out_tongue_winking_eye

Читать полностью
Наталья
27 июня 2018 10:03
Наталья

Скажите, я правильно понимаю, что index.html является шаблоном для всех последующих страниц?
И у вас на DEMO странице в Профиле присутствуют дополнительные поля, которых нет в шаблоне: IP адрес посетителя, дата регистрации, количество зарегистрированных и последний пользователь.

У вас другой скрипт регистрации используется или как понимать?
Заранее благодарна :)))

Читать полностью
27 июня 2018 12:37
Admin

Наталья,
1. Да, совершенно правильно, страница index.html является шаблоном для всех последующих.
2. Нет, вы скачиваете тот же скрипт регистрации, что и на DEMO.

Дело в том, что дополнительные поля - это мои собственные доработки.
Чтобы данные поля отображались у вас на странице, необходимо сделать записи в БД и прописать код в 3-ёх файлах.

Доступ закрыт

Стоимость доступа ко всей странице 30.00 RUR.
После оплаты доступ будет открыт в течение 3 дн.
Для оплаты Вам необходимо зарегистрироваться либо войти на сайт.

Читать полностью
Наталья
27 июня 2018 22:45
Наталья

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

Читать полностью
28 июня 2018 08:08
Admin

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

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

Читать полностью
Олег
30 июня 2018 18:18
Олег

Admin,
Я в сайтах только начинаю разбираться (новичок) и поэтому прошу помощи:
Код дополнительных полей я заменил (это не трудно), а вот как добавить поле в Базу Данных, - это пока проблема.
Подскажите, если не трудно. Спасибо)) disappointed

Читать полностью
30 июня 2018 21:34
Admin

Олег,
Не трудно! Заходите в БД и нажимаете слевой стороны на таблицу my_users, далее в верхнем меню жмите Структура и внизу появится дополнение полей.
Смотрите рисунок.
База Данных

Читать полностью
Ольга
3 июля 2018 07:26
Ольга

Я помню вы раньше использовали данный скрипт регистрации на своём сайте и у вас были прописаны некие условия при оплате, показе информации до определённой даты, были разграничения по пользователям и так далее.
Не могли бы вы поделиться с этим: что нужно дополнить, что изменить.
Благодарствую!

Читать полностью
3 июля 2018 10:00
Admin

Ольга,
Да, было такое...
Когда я решил сделать платный просмотр некой информации на страницах в полу-автомат. режиме, мне понадобилось разграничить пользователей и добавить php код с условиями.
Примерно то же самое, как и работает это сейчас: человек оплатил и ему показана инфа только на этой странице и не больше, и до определённой даты.

Для этой цели я добавил в таблицу БД 3 дополнительных поля:
web по умолчанию "0 "
odata по умолчанию "01.01.2018 "
u1 по умолчанию "0 "
И когда человек оплатил, я в Админ Панели менял для его ID значения этих полей: для web и u1 ставил "1", а в поле odata прописывал дату, до которой купленная информация будет ему показана.

Код php в самый верх страницы:

<?php
 $stayt = 'u1';
?>

Код php с условиями для платной информации:
Доступ закрыт

Стоимость доступа ко всей странице 30.00 RUR.
После оплаты доступ будет открыт в течение 3 дн.
Для оплаты Вам необходимо зарегистрироваться либо войти на сайт.

Читать полностью
Михаил
5 июля 2018 12:33
Михаил

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

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

Читать полностью
5 июля 2018 13:06
Admin

Михаил,
Исправьте одинарные ковычки ( так делать не допустимо ) на двойные и будет счастье.

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

Читать полностью
Сергей
5 июля 2018 22:41
Сергей

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

Читать полностью
6 июля 2018 10:19
Admin

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

А для вашего случая, чтобы пользователь после успешной регистрации оставался на той же странице, нужно сделать одну поправку в файле ajax.php.

// Найдите в самом низу этот код
<?php
 $this->setResponse("redirect", "/");
 $this->status = "ok";
?>
// Замените на этот
<?php
 $this->setResponse("redirect", " ");
 $this->status = "ok";
?>

Читать полностью
Марина
9 июля 2018 16:38
Марина

Вы писали, что использовали этот скрипт регистрации раньше, и у меня к вам такой вопрос:
а сейчас вы используете более новее скрипт и где его можно посмотреть?
спасибо blush

Читать полностью
10 июля 2018 07:59
Admin

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

Нужен такой функционал сайта ( вам есть что продавать ), - обращайтесь, сделаю.

Читать полностью
19 августа 2018 22:16
TUBB

Admin,
Здравствуйте! Таблица 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,
`qwer` varchar(10) NOT NULL,
`asdf` varchar(10) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Почему после добавления еще строк в форму, скрипт отказывает регестрировать пользователей?

Читать полностью
19 августа 2018 22:42
Admin

TUBB,
Привет!
Помимо того, что вы добавили в форму регистрации и БД дополнительные поля, их нужно прописать так же в файлах PHP : classes/Auth.class.php , ajax.php и в файле Админ Панели.

В последнем прописываете, - если есть необходимость вывода данных этих полей.

Читать полностью
19 августа 2018 23:17
TUBB

Admin,

Спасибо Вам огромное. Все получилось

Читать полностью
Alexandr
18 сентября 2018 05:36
Alexandr

Добрый! А не подскажете как при регистрации добавить галочку с правилами ознакомлен?
Извините за наглость.

Читать полностью
18 сентября 2018 09:02
Admin

Alexandr,
На странице с правилами при регистрации, необходимо добавить форму с input  ( checkbox ) с привязкой скрипта.
В инете много подобных примеров, и вот один из них.

Читать полностью
Александр
18 сентября 2018 17:51
Александр

Спасибо! Прям в тему и все работает. :о)))
Но воткнулся в кодировку на индексной странице. В админке все отображается нормально, а вот в индекном файле русские буквы данных из базы отображаются знаками вопроса. Только из базы, все остальное в норме.

Полагаю, что нужно указать для скрипта регистрации кодировку в файле Auth.class.php - но попытки результата не дают. БД и Index в utf-8.
Не подскажете?

Читать полностью
18 сентября 2018 18:10
Admin

Александр,
Тут определенно сказать трудно, нужно смотреть.
Посмотрите записи в самой БД ( не в Админке ), - запись осуществляется русскими буквами или там уже иероглифы.
Если там всё нормально, то уже ковыряйте кодировку самой страницы.

Читать полностью
Добавить комментарий