Инструменты пользователя

Инструменты сайта


software:development:demo:plugin_login:adaptive_registration_form_complex_block

Создание плагина входа (plugin login)

Плагин (от англ. plug-in — «подключаемый») — это независимый программный модуль, устанавливаемый в основную программу (браузер, редактор, CMS, игру) для расширения ее возможностей без изменения основного кода.

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

Основные понятия

  • HTML (HyperText Markup Language) — это стандартный язык гипертекстовой разметки документов в интернете, используемый для создания структуры и содержимого веб-страниц.
  • CSS (Cascading Style Sheets) — это язык описания (каскадные таблицы стилей) внешнего вида веб-страниц, созданных с помощью HTML.
  • PHP (PHP: Hypertext Preprocessor) — это один из самых популярных скриптовых языков программирования с открытым исходным кодом, специально разработанный для серверной веб-разработки.
  • PDO (PHP Data Objects) — это популярное расширение для языка программирования PHP, предоставляющее единый унифицированный интерфейс для работы с различными базами данных (MySQL, PostgreSQL, SQLite и др.)
  • JavaScript (JS) — это интерпретируемый, мультипарадигменный язык программирования высокого уровня, ставший стандартом для создания интерактивных веб-страниц.

Введение

Данный модуль в своей основе представляет из себя шаблон HTML - разметки с таблицей стилей CSS и адаптивно подключаемыми страницами на скриптах PHP с расширением PDO, а так же в минимальной степени JavaScript.

Основные этапы и Формы

  • Создание директорий модуля и приложения
  • Временный шаблон sample.php
    • Создание блочной адаптивной формы HTML
    • Подключение стилей CSS
    • Переводы приложения lang.php
    • Сессии PHP
  • Главный шаблон формы auth.php
    • Верхний подключаемый компонент шаблона header.php
    • Нижний подключаемый компонент шаблона footer.php
    • Форма регистрации register.php
    • Форма авторизации login.php
    • Форма верификации (подтверждения почты) confirm.php
    • Форма сброса пороля reset.php
    • Форма двухфакторная аутентификация 2fa.php
    • Форма регистрации двухфакторной аутентификации otp.php
    • Форма редактирования профиля пользователя edit.php
    • Форма удаления регистрации delete.php
  • Проверка вводимых данных, вывод ошибок на стороне клиента
  • Проверка вводимых данных, вывод ошибок на стороне сервера
  • Логика работы модуля
    • Работа с БД
    • Работа с почтой
    • Работа с OTP QR-code
    • Загрузка фото на сервер
      • Обработка фото и безопасность перед загрузкой на сервер

lang

test_lang.php
<?php
$lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
echo $lang . "<br>"; // Выведет, например, 'ru'
?>



Эта строка — часть HTTP-заголовка Accept-Language, используемого браузерами для сообщения серверу предпочтительных языков. Она означает: «Предпочтительный язык — русский (ru), если его нет, то английский (en) с коэффициентом приоритета 0.7». Значение q (quality) от 0 до 1 определяет приоритет (1 — высший). Основные детали:

  • ru: Язык с наивысшим приоритетом (по умолчанию q=1.0), так как приоритет не указан.
  • en; q=0.7: Английский язык приемлем, но с более низким приоритетом (70% от максимального).
  • Применение: Сервер использует эту информацию для автоматического выбора версии страницы.
  • Эта настройка помогает автоматически переключать языки сайта без явного выбора пользователем.

И его укороченная часть запроса

test_lang_min.php
<?php
$serverLang = '';
if (!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
    $serverLang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
}
$lang_min = substr($serverLang, 0, 2);
// $lang_min обычно это будет двухбуквенный код, например: 'en', 'fr', 'de', etc.
echo $lang_min . "<br>"; // Выведет, например, 'ru'
?>



Только авторизованные участники могут оставлять комментарии.
software/development/demo/plugin_login/adaptive_registration_form_complex_block.txt · Последнее изменение: VladPolskiy

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki