Шаблон сайта с авторизацией

Шаблон сайта с авторизацией

В этой статье Вы найдете скрипт на языке программирования PHP, который позволяет пользователю зарегистрироваться и авторизоваться на сайте. Скрипт на 100% защищает от SQL-инжекций, поскольку использует PDO (система подготовленных запросов) и библиотеку RedBeanPHP, которая реализует ORM. Использовать RedBeanPHP мы будем только, чтобы присоединиться к базе данных и легко ей манипулировать, не используя стандартные команды в PHP, такие как mysql_connect и подобные, потому что они устаревшие и не очень эффективные.

Скрипт использует сессии ($_SESSION) и позволяет узнать авторизован сейчас человек или нет. Также в скрипте предусмотрена капча с рандомными вопросами, которая защищает сайт от надоедливого спама.

Скрипт состоит из следующих файлов:

  • index.php — содержит 2 ссылки (на форму авторизации и регистрации);
  • rb.php — ORM-библиотека RedBeanPHP;
  • db.php — подключение к базе данных;
  • login.php — обработчик авторизации пользователя и форма авторизации;
  • signup.php — обработчик регистрации пользователя и форма регистрации;
  • logout.php — выход из сессии.

Как подключить скрипт?

Скачайте готовый скрипт и перенесите все файлы на свой хостинг или локальный сервер (Denwer, OpenServer). Для работы скрипта Вам потребуется версия PHP не ниже 5.6. Далее необходимо создать базу данных и подсоединиться к ней. Для этого потребуется поменять значения в файле db.php. Если с этим возникнут трудности, то Вы можете задавать свои вопросы в комментариях под статьей.

Форма авторизации

В файле login.php находится обработчик и сама форма авторизации, которая состоит из двух полей (логин, пароль). Значок @ (собачка) перед переменными служит в PHP для отключения ошибки, если такая возникнет.

PHP обработчик формы авторизации пользователя

Все переменные, которые возвращаются по методу POST — мы присваиваем переменной $data.

Форма регистрации

В файле signup.php находится обработчик и сама форма регистрации. Для таких форм рекомендуется использовать метод запроса POST, при котором веб-сервер принимает данные, заключённые в тело сообщения, для хранения.

PHP обработчик формы регистрации пользователя

Смотреть видеоурок

Статья была написана на основе видеоурока Хауди Хо, который Вы можете посмотреть ниже. Скрипт из видео был немного доработан (добавлена капча function captcha_show).

Недавно мы постили ряд полезных советов по созданию эффективных форм регистрации на сайте, а сегодня хотим поговорить про блок авторизации/логина. В последнее время в сети появляется достаточно много раздражающих и слишком «заумных» его реализаций. Хорошо, когда дизайнеры пытаются сделать необычные и красивые формы логина (см. нашу подборку), вписывая их в общую концепцию веб-проекта, однако совсем другое дело — когда они перебарщивают с функциональностью. Иногда доходит до того, что популярные менеджеры паролей (в Chrome или от 1Password) просто не срабатывают.

В статье увидите примеры форм авторизации с проблемами в юзабилити. Это хорошая пища для размышления веб-разработчикам, не особо понимающих как именно их аудитория использует инструмент входа в систему на сайте. Во второй части статьи покажем и расскажем как лучше всего реализовать данную задачу и создавать простые, связываемые, узнаваемые элементы, что понятны посетителям и отлично работают с разными «запоминателями» паролей. Текст является адаптацией этой заметки.

Читайте также:  Как убрать командную строку виндовс 10

Чего не стоит делать

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

Логины в модальных окнах

  • Человеку приходится совершать дополнительные действия: нажать кнопку в меню, выбрать вариант с логином, заполнить форму. Вместо этого вы просто могли зайти на страницу логина вручную (по ссылке, из закладок) или добавить обработку действия непосредственно в шапке сайта.
  • Кроме того, механизм срабатывания модального всплывающего окна создает дополнительные трудности для программ по типу 1Password — функция «Открыть и заполнить», позволяющая быстро внести свои учетные данные при посещении сайта, скорее всего, не будет работать.
  • Невозможность напрямую перенаправить юзера на авторизацию. Это станет головной болью для специалистов службы поддержки клиентов, т.к. им придется выдать пользователю кучу инструкций, вместо того чтобы просто предоставить ссылку.

Не скрывайте поля

Изначально обязательное поле «Фамилия» на сайте Delta скрыто, вероятно, для того, чтобы разгрузить пользовательский интерфейс путем поэтапного раскрытия данных. Фишка в том, что когда в форме логина элемент, обязательный для заполнения, становится невидимым, у менеджеров паролей нет возможности предварительно его заполнить. Человеку нужно выйти из одного поля дабы получить доступ к другому «супер секретному», которое сразу появится. В итоге вы получаете еще один (лишний) шаг в своем алгоритме действий.

Кстати, на экране приветствия у MacOS строка введения пароля также невидима, вероятно, для того, чтобы «очистить» интерфейс (или это стимул входить в систему через TouchID). Однако в итоге подобная «чистота» приводит лишь к бОльшей путанице (особенно для новичков).

Осторожнее с «волшебными» ссылками (magic links)

Можно предположить, что все началось с сервиса Slack, но теперь уже многие вебсайты предоставляют пользователям «временный пароль», например, Notion. Нетрудно догадаться, в чем хитрость такого хода – волокита с регистрацией подразумевает, что люди должны запомнить два значения вместо одного и будут использовать линк «Забыли пароль», но:

  • Этот подход неимоверно нудный. Посетителям веб-ресурса придется: ввести адрес электронной почты; открыть новую вкладку или включить программу дабы войти в почтовый ящик; найти сообщение от службы поддержки (не отвлекаясь на другие письма); открыть письмо и скопировать пароль, похожий на абракадабру; вернуться на веб-сайт, где ввести бредовый набор символов и, наконец-то, заполнить форму входа. Чёрт возьми!
  • Особое раздражение вызывает несовместимость с менеджерами/запоминателями паролей, а ведь сегодня на них полагаютсяя многие. С появлением систем проектирования дизайна часто стали говорить о последовательном логичном подходе, однако речь идет о нем не только в пределах своей экосистемы, — продукт должен быть совместимой и со всей остальной глобальной паутиной.
  • Данная опция вынуждает изучать новые принципы работы в интернете. В течение многих лет юзерам приходится снова и снова сталкиваться с разнообразными «придумками» и новаторством в web дизайне/разработке. Введение новшеств, безусловно, необходимо, однако при этом следует учитывать один немаловажный факт – люди, посещающие ваш сайт, уже имеют за плечами наработанный багаж знаний по использованию популярных интернет технологий и сервисов. Некоторые разработчики, любители не в меру поумничать, заставляют свою целевую аудиторию изучать нечто новое, что тормозит работу (как минимум, на первых порах). Зачем? Это ведь просто авторизация!
Читайте также:  Как перевести mdf в iso

Не разбивайте процесс логин на несколько шагов

Реализация у сервиса Shopify разделена на три(!) отдельных экрана. Опять же, судя по всему, разработчики сайта стараются сразу не перегружать пользователей большим количеством информации. В некоторых случаях такой прием, действительно, рационален, например, в e-коммерции и дизайнах интернет-магазинов, где разделены логические шаги совершения заказа: формирование корзины, выбор способа доставки/адреса, ввод платежных данных и т.д. Но согласитесь, решение простой тривиальной задачи в три этапа – это уже перебор. Недостатки метода:

  • Ненужные доп.шаги при входе в систему. Вам приходится просматривать три экрана вместо одного. Это, без сомнения, замедляет работу.
  • Не поддерживает менеджеры паролей. У программ/приложений есть возможность заполнить поля только на одной странице.

Что рекомендуется делать

Если говорить об эффективных подходах, то на самом деле, нет ничего прекрасней «скучной» и узнаваемой классической формы авторизации. Например, как у Harvest:

Понятный, лаконичный, узнаваемый интерфейс, который корректно работает и с 1Password, и со встроенными функциями Chrome.

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

  • Создавайте специальную страницу логина. В этом случае работники тех.поддержки смогут направлять людей на URL-адрес страницы (domain.com/login), избавит их от необходимости давать кучу инструкций. У менеджеров паролей появится возможность сохранить URL-адрес, и в случае необходимости открыть его одним нажатием кнопки, предварительно заполнив все данные. Если делаете форму как элемент сайта на каждой вебстранице, то размещайте ее в максимально видном месте.
  • Не скрывайте обязательные для заполнения поля. Когда для входа требуется ввести фамилию/возраст и т.п., сделайте эту строку видимой изначально.
  • Размещайте все поля на одной странице. Быстрый процесс авторизации не должен превращаться в нудное перелистывание нескольких экранов.
  • Не переусердствуйте. Возможно, во всех этих «волшебных» ссылках и прочих изобретательных решениях, действительно, что-то есть. Но при этом важно учитывать, как интернет-аудитория (и в частности ваша ЦА) привыкла использовать тот или иной инструмент. Скорей всего, разумнее положиться на скучный, узнаваемый, устоявшийся подход.

Разумеется, этот список негативных решений и пожеланий нельзя назвать исчерпывающим. Здесь не были затронуты многие другие фишки для форм входа, например, авторизация в форме с помощью социальных сетей (social login) или двухфакторная аутентификация. Возможно, расскажем об этом в будущем. А пока пишите свои дополнения/мысли по этой теме в комментариях.

Формы входа присутствуют повсюду в Интернете. Вы пользуетесь социальными сетями? Необходимо зайти через форму входа. У вас есть электронная почта? Вы вступили в какое-либо сообщество или форум? Вы хотите оставить комментарий на сайте WordPress? Чтобы получить доступ к чему-нибудь в Интернете, скорее всего, вам придется пройти через процесс входа в систему. Вам, вероятно, придется сначала зарегистрироваться или оставить какую-то информацию о себе, а затем использовать форму входа, чтобы совершить какое-либо действие онлайн.

Читайте также:  Как вытащить застрявшую сим карту

Так почему формы входа нужно делать с помощью HTML и CSS? Это две существенные части.

HTML — это стандартный язык разметки, используемый для создания веб-страниц. HTML-элементы являются строительными блоками всех веб-сайтов.

CSS — это язык, используемый для описания внешнего вида и форматирования документа, написанного с использованием языка разметки. Такого как HTML.

Мы используем HTML для создания веб-сайта и CSS, чтобы он выглядел красиво. Это то, с чем большинство пользователей сталкиваются в интернете.

Мы составили список из 50 бесплатных форм входа, которые можно использовать на вашем сайте WordPress, в блоге, на форуме или где-нибудь еще. Каждая форма была тщательно протестирована, чтобы гарантировать, что присутствуют все компоненты, а исходный код доступен с каждой загрузкой. Конечно, вы можете использовать эти формы для личных и коммерческих целей, без необходимости атрибуции.

Простая, но креативная форма входа, созданная с использованием HTML5 и CSS3. Эта форма может быть также использована, как форма регистрации. Это наш любимый шаблон в этом списке благодаря своей гибкости и подобия.

Форма будет скрыта, пока вы не нажмете на опцию “Вход”. Действительно отличная возможность для современных веб-сайтов, которые хотят избежать создания отдельной страницы для форма входа. Таким образом, вы можете отобразить форму в любом месте на вашем сайте с помощью этого мощного инструмента.

Дизайн для формы регистрации, использующей вкладки и плавающую форму меток.

Эта форма стала очень популярной, благодаря своей простоте и аккуратному дизайну.

После нажатия кнопки “Click me” в верхнем правом углу, вы получите плавную анимацию, которая превращает эту форму для входа в форму регистрации.

Это форма с автономным SCSS. Расширение CSS, которое добавляет силу и элегантность основному языку, что позволяет использовать различные опции и элементы.

Это простая форма Facebook, которая с легкостью может быть импортирована в ваш сайт.

Это на самом деле анимированная форма входа, с надписью вверху “Эй ты, входи уже” трансформируется в поля для входа внизу формы.

Это пример того, как создать простую регистрационную форму с помощью HTML5 и CSS3. Форма использует псевдо элементы (:after и :before), чтобы создать многостраничный эффект. Эти элементы поворачиваются с помощью свойства преобразования CSS3. Эта форма использует HTML5, чтобы сделать более простой подачу и валидацию.

Творческий способ, чтобы продемонстрировать форму входа на iPhone.

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

Квадратная форма входа с небольшим сюрпризом. Попробуйте “admin” в качестве имени пользователя и “1234” в качестве пароля для полноценного опыта.

Изящная форма входа. Как только вы нажмете на “Вход” на левой стороне, эффект анимации создает аккуратную форму входа справа. Определенно уникальный подход!

Dashboard CSS3 HTML5 Form

Ссылка на основную публикацию
Что такое жесткий диск компьютера определение
Разобравшись, как подключить стационарный компьютер к Wi-Fi, установив и настроив на ПК необходимые программы, пользователь может сделать передышку и немного...
Что делать если ничего не скачивается
Сегодняшняя статья будет посвящена такой стандартной и даже банальной проблеме, как нежелание браузера сохранять файлы с интернета. Вроде как все...
Что делать если перегревается процессор на ноутбуке
Когда сильно греется процессор ноутбука, следует сначала проверить всё ли в порядке с его программным обеспечением. Если проверка ПО не...
Что такое звуковые данные
Урок " Кодирование звуковой информации " Аналоговый и дискретный способы представления звука Информация, в том числе графическая и звуковая, может...
Adblock detector