Страница регистрации

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

регистрация сайтов в поисковых системах

На сегодняшний день основными поисковыми гигантами, на которые приходится 90% всех обращений пользователей, являются «Яндекс» и «Гугл». Регистрация сайта в поисковиках необходима для того, чтобы поисковая система узнала о существовании нового интернет-ресурса и смогла проиндексировать его для последующего занесения в список выдачи. После того как новый проект попадет туда, на него начнут заходить первые посетители, к этому стремится любой вебмастер. Часто у новичков возникает вопрос: «Как зарегистрировать сайт в поисковых системах?» Здесь нет ничего сложного, как может показаться на первый взгляд, и далее мы поэтапно разберем этот процесс. Поскольку регистрация в «Яндекс» и «Гугл» имеет некоторые отличия, рассмотрим эти процедуры отдельно друг от друга.

как зарегистрировать сайт в поисковых системах

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

Как получить статус вебмастера на сервисе «Яндекс.Вебмастер»

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

регистрация сайта в поисковиках

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

Для того чтобы поисковая система поняла, что этот вебмастер является и собственником нового ресурса, ему необходимо подтвердить на него свои права. Система предлагает три варианта подтверждения прав на новый ресурс: с помощью html-файла, данных в мета-теге или текстовой записи в DNS. Самым простым является первый способ, рассмотрим его поэтапно.

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

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

И третье: после того как файл окажется в корневом каталоге сайта, необходимо нажать кнопку «Проверить» и получить подтверждение. Теперь остается время от времени заходить на сервис «Яндекс.Вебмастер» и проверять, когда поисковая система сообщит о том, что сайт зарегистрирован.

Регистрация сайта в «Гугл»

зарегистрировать сайт в поисковых системах

Для того чтобы просто сообщить «Гугл» о своих новых интернет-ресурсах, можно, пройдя на соответсвующую страницу, добавить необходимые адреса в поле для ввода, и на этом регистрация сайтов в поисковых системах может быть завершена. Для доступа же к расширенным возможностям в работе и анализу посещаемости своих проектов необходимо зарегистрироваться в системе для вебмастеров Google Webmaster Tools.

Авторизация вебмастера в «Гугл»

Для прохождения регистрации необходимо щелкнуть по кнопке «Войти» и в открывшейся форме выбрать ссылку «Создать аккаунт». Затем внести в форму свои данные: фамилию, имя, имя почтового ящика, пароль, дату рождения, пол — и нажать «Создать». На этом регистрация пользователя в системе «Гугл» закончена. Далее вновь переходим к вопросу о том, как зарегистрировать сайт в поисковиках.

Основной способ подтверждения прав на сайт в «Гугл»

Зайти в панель вебмастера можно в сервисе google.com/webmasters/, нажав «Войти в инструменты для вебмастера». На открывшейся странице для подачи заявки на регистрацию нового ресурса нажать кнопку «Добавить сайт», затем в появившемся окне ввести путь к сайту и кликнуть «Продолжить». После появляется форма для подтверждения прав на регистрируемый сайт, которая содержит две вкладки: «Основной способ» и «Альтернативные способы». Воспользуемся основным способом.

Первое: необходимо скачать указанный файл на свой компьютер.

Второе: загрузить этот файл с компьютера на удаленный сервер, где находится сайт (в его корневую папку) с помощью программы FTP-клиента FileZilla.

Третье: проверить успешное завершение загрузки переходом по указанной ссылке.

Четвертое: нажать кнопку «Подтвердить». Загруженный на удаленный сервер файл удалять не нужно.

Необходимо ли оповещать другие системы о своем сайте

как зарегистрировать сайт в поисковиках

Что касается вопроса о том, нужна ли регистрация сайтов в поисковых системах, помимо «Яндекс» и «Гугл», то здесь уже на усмотрение самого вебмастера. По большому счету основной трафик дают вышеупомянутые поисковые системы, с остальных процент посетителей идет очень маленький. Но если есть время и желание, то лишним это не будет. Помимо поисковиков–гигантов, свой сайт можно добавить в «Мета» (украинский поисковик), «Рамблер» (в прошлом очень популярная поисковая система), Bing (разработка от Microsoft), Yahoo (популярна среди англоязычной аудитории).

В этой статье мы рассмотрели вопрос о том, как зарегистрировать сайт в поисковых системах. Следующим этапом работы с интернет-проектом будет его продвижение, эта деятельность направлена на его раскрутку и появление в ТОПе поисковой выдачи. Продвижение сайта в поисковых системах — достаточно сложное занятие и может оказаться не под силу даже продвинутому пользователю. Если нет полной уверенности в своих силах, то лучше обратиться к специалистам в этой области.

www.syl.ru

Каждый день пользователи серфят интернет в поисках нужной информации. Большая часть форумов и социальных сетей требует авторизации для получения доступа к данным. Таким способом владельцы сайтов набирают базу пользователей и посещаемость. У вас есть собственный ресурс, но нет постоянного контингента юзеров? Давайте разберемся в том, как сделать регистрацию на сайте.

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

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

Для реализации регистрации на сайте потребуется поддержка PHP и MySQL на хостинге. Если хостинг поддерживает только HTML, то, увы, создать скрипт регистрации на PHP у вас не получится. Весь алгоритм авторизации на сайте можно поделить на несколько этапов:

  1. Пользователь заходит на сайт, открывает форму авторизации.
  2. Если он уже зарегистрирован, то вводит пароль и логин в форме.
  3. Скрипт-обработчик проверяет полученные данные:
    • если введенная пара логин/пароль верна, то пользователь авторизуется на сайте;
    • если данные не корректны, то пользователь вновь возвращается на страницу с формой авторизации.
  4. Если пользователь не зарегистрирован, то сайт предлагает ему заполнить специальную форму для создания аккаунта.

Собственно говоря, регистрация представляет собой процесс сохранения данных о пользователе в специальном «месте». В качестве места хранения логинов и паролей пользователей сайта могут быть использованы текстовые файлы с расширением .txt и .dat, XML-файл и база данных. Первые два способа уже изжили себя и считаются небезопасными методами хранения данных, так как любой человек может получить к ним доступ прямо из адресной строки браузера.

База данных на сегодня является лучшим хранилищем пользовательской информации. В БД хранятся не только пароли и логины, но и вся сопутствующая информация: электронные адреса, ФИО и контактные данные пользователя, его интересы, местоположение и т.д.

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

Первым делом вам нужно сделать базу данных на своем хостинге через phpMyAdmin. После чего создайте нового пользователя и «привяжите» его к базе данных. К примеру, вы сделали базу с названием «myuserbd», пользователем «myuser» и паролем «myuserpass».

Страница регистрации

Перейдите в phpMyAdmin, выберите свежесозданную базу данных и выполните следующий запрос к базе (раздел SQL):

Страница регистрации

В БД «myuserbd» появится новая таблица с названием «users». В таблице имеется 3 строки: ID (ID регистрируемого пользователя), login (логин пользователя) и pass (пароль пользователя).

Страница регистрации

Теперь нужно связать базу данных и скрипт регистрации. Создаем файл bd.php, вписываем в него нижеприведенный код и указываем название базы, пароль и логин пользователя.

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

  • index.php – главная страница сайта с проверкой информации об авторизации пользователя;
  • reg.php – страница с формой регистрации пользователя;
  • testreg.php – файл, отвечающий за проверку данных пользователя;
  • saveuser.php – сохранение введенных данных в базу.

Страница регистрации

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

Осталось только скачать следующий архив с вышеуказанными PHP-файлами, прописать свои данные к БД в файле bd.php и распаковать его на хостинге в корневую папку своего сайта. Как видите, сделать регистрацию на сайте не сложно.

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

thedifference.ru

Основной сайт сети

По умолчанию, WordPress открывает страницу регистрации (wp-signup.php) на основном домене (сайте) сети. Тем не менее, можно создавать страницы регистрации для каждого сайта сети, даже если у них разные домены и темы.

Мы будем рассматривать случай, когда на всех сайтах сети используется одна тема, но на каждом из них есть страница регистрации. Сайты различаются языком (английский и русский), поэтому страница регистрации будет выводиться на «родном» языке сайта. В случае, если сайты используют разные темы, все будет зависеть от того, какие именно это темы, подойдет ли им одинаковая верстка (отличная ситуация, которая может подтолкнуть вас к унификации всех своих тем) или стоит прорабатывать страницы индивидуально.

Альтернатива functions.php

Файл functions.php знаком многим пользователям WordPress благодаря событиям и фильтрам, с помощью которых очень просто вносить правки. В нашем случае, с учетом того, что функционал регистрации рассчитан на несколько сайтов, имеет смысл вынести его в MU-плагины.

Что такое MU-плагины?

MU-плагины (Must Use Plugins) загружаются при открытии любого сайта сети. Их нельзя отключить или включить в административной части WordPress, они работают всегда. Стоит отметить, что MU-плагины загружаются раньше обычных плагинов, тем оформления и до полной загрузки ядра WordPress, поэтому вызов некоторых функций может привести к фатальным ошибкам в PHP.

Подобная «ранняя» загрузка имеет и свои плюсы. Скажем, внутри любой темы нельзя цепляться к некоторым событиям из плагинов, которые срабатывают еще до загрузки functions.php.

В Jetpack, например, есть события вида jetpack_module_loaded_related-posts (related-posts — название модуля), с помощью которых можно отслеживать активность модулей. К этому событию невозможно «прицепиться» из functions.php, потому что оно срабатывает еще до загрузки темы — плагины загружаются раньше тем.

Взглянуть на общую картинку порядка загрузки WordPress и возникновения событий можно на странице Action Reference в Кодексе.

Порядок в файлах

MU-плагины могут содержать любое количество файлов и структуру, которая покажется вам логичной. Я придерживаюсь примерно такой иерархии:

| mu-plugins  | | load.php  | | selena-network  | | | signup  | | | | plugin.php  | | | ...  | | | jetpack  | | | | plugin.php  

В файле load.php подключаются переводы и все необходимые «плагины»:

// Загрузка переводов для MU-плагинов  load_muplugin_textdomain( 'selena_network', '/selena-network/languages/' );    // Функционал для страницы регистрации  require WPMU_PLUGIN_DIR . '/selena-network/signup/plugin.php';    // Еще один плагин  // require WPMU_PLUGIN_DIR ...  

Внутри директории selena-network хранятся папки плагинов. В каждой есть свой plugin.php, которые мы и подключаем в load.php. Это дает гибкость и возможность мгновенно отключать и включать отдельные компоненты на рабочем проекте в случае экстренной необходимости.

Страница регистрации

Разобравшись с тем, где и как мы будем писать код, можно переходить к созданию страницы регистрации.

Создадим страницу с адресом example.org/signup/ через обычный интерфейс. В качестве адреса можно использовать любой URL, который покажется подходящим для вашего проекта.

Редирект на нужную страницу регистрации

Чтобы WordPress узнал о нашей новой странице регистрации и производил редирект именно на нее, при клике на ссылку «Зарегистрироваться», используется фильтр wp_signup_location. Его можно найти внутри wp-login.php и именно он отвечает за редирект на wp-signup.php по умолчанию.

case 'register' :  if ( is_multisite() ) {   wp_redirect( apply_filters( 'wp_signup_location', network_site_url( 'wp-signup.php' ) ) );   exit;   // ...  

Как вы помните, по умолчанию, страница регистрации открывается на основном домене сети. Именно поэтому здесь используется network_site_url().

Добавим свой обработчик к фильтру в mu-plugins/selena-network/signup/plugin.php, который будет отдавать адрес страницы регистрации на текущем сайте:

function selena_network_signup_page( $url ) {   return home_url( 'signup' );  }  add_filter ('wp_signup_location', 'selena_network_signup_page', 99);  

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

Обратите внимание, что используется home_url(), которая в отличие от network_site_url(), отдает адрес текущего сайта, а не главного сайта сети.

Функционал wp-signup.php

Файл wp-signup.php содержит большое количество функций и кода. Чтобы увидеть картину в целом можно воспользоваться сворачиванием кода. Как правило, по-английски это называется «code folding».

В самом начале файла с 1 по 80 строчку (в версии 4.1.1) производятся различные проверки и вывод «старта» страницы с помощью get_header().

Далее объявляются множество методов и перед тем, как мы начнем работать с ними, стоит разобраться что делает каждая функция. Внутри многих из них часто используются другие функции с префиксом wpmu_, все они объявляются в файле wp-includes/ms-functions.php. Этот раздел тяжело понять не видя код самостоятельно. Ниже небольшое описание основных функций на случай, если у вас возникнут затруднения.

  • wpmu_signup_stylesheet() — вывод дополнительного CSS на странице регистрации.
  • show_blog_form() — поля для регистрации сайта (адрес, название видимость для поисковых систем).
  • validate_blog_form() — проверка введенного адреса сайта и названия с помощью wpmu_validate_blog_signup().
  • show_user_form() — поля для регистрации пользователя (логин и адрес эл. почты).
  • validate_user_form() — проверка введенного логина и адреса эл. почты с помощью wpmu_validate_user_signup().
  • signup_another_blog() — поля для регистрации новых сайтов с помощью show_blog_form() для пользователей, которые уже зарегистрированы на сайте.
  • validate_another_blog_signup() — проверяет адрес сайта и название с помощью validate_blog_form().
  • signup_user() — основная функция для вывода полей страницы регистрации.
  • validate_user_signup() — проверяет логин и адрес эл. почты с помощью validate_user_form().
  • signup_blog() — поля для ввода адреса, названия и видимости сайта (второй шаг регистрации) с помощью show_blog_form().
  • validate_blog_signup() — проверяет логин, адрес эл. почты, адрес и название сайта.

В самом низу файла wp-signup.php (со строчки 646 в версии 4.1.1) основная логика работы страницы регистрации, которая использует все выше описанные методы. Эта часть кода не вынесена в функцию. В конце вызывается get_footer().

Копируем функционал wp-signup.php

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

При обновлении WordPress время от времени меняется и wp-signup.php, но это не значит что при каждом релизе придется синхронизировать свой «форк». Функции внутри wp-signup.php по сути занимаются лишь выводом HTML, проверкой данных, созданием учетных записей и сайтов занимаются методы с префиксом wpmu_, объявленные в ms-functions.php.

Займемся созданием функции, которая будет выводить форму регистрации на странице. Для этого скопируем wp-signup.php из корня WordPress в mu-plugings/selena-network/signup/. Подключим его внутри mu-plugins/selena-network/signup/plugin.php).

require WPMU_PLUGIN_DIR . '/selena-network/signup/wp-signup.php';  

Удалим из самого начала скопированного файла все require и ненужные проверки. В версии 4.1.1 это весь код с 1 по 80 строчку.

Теперь мы готовы создать главную функцию для вывода формы регистрации. Для этого всю логику со строчки 646 и до самого конца файла перенесем в функцию c названием selena_network_signup_main. В самом конце удалим два лишних закрывающих </div> (строчки 722 и 723), а также вызов get_footer().

В только что созданной selena_network_signup_main() в самом начале объявим глобальную переменную active_signup, которую используют все остальные методы из этого файла. И добавим вызов события before_signup_form, которое мы удалили из самого начала файла.

function selena_network_signup_main() {   global $active_signup;   do_action( 'before_signup_form' );   // ...  }  

Теперь остается лишь изменить верстку во всех местах где это необходимо и страница регистрации готова.

Для наглядности я опубликовал свою версию измененного wp-signup.php на Github.

Вывод формы регистрации

Здесь есть как минимум два варианта. Более удобный способ — создать шорткод [network_signup] и разместить его на странице через обычный редактор.

// Создаем шорткод network_signup  add_shortcode( 'network_signup', 'selena_network_signup_main' );  

Второй вариант — создать в папке дочерней темы шаблон страницы page-signup.php. Вместо слова «signup» можно использовать уникальный ID, присвоенный странице. Внутри шаблона добавить необходимую верстку и сделать вызов selena_network_signup_main() в нужном месте.

В результате моя страница регистрации стала выглядеть намного лучше и чище.

Страница активации

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

За вывод страницы активации отвечает файл wp-activate.php расположенный в корневой директории WordPress. wp-activate.php можно так же полностью изменить. Процесс схож с тем, что мы уже делали для wp-signup.php.

Создадим страницу example.org/activate/ через обычный интерфейс. В качестве адреса используйте любой URL, который покажется вам подходящим.

Скопируем файл wp-activate.php к себе в MU-плагины и подключим его в mu-plugins/selena-network/signup/plugin.php.

require WPMU_PLUGIN_DIR . '/selena-network/signup/wp-activate.php';  

Внутри не так много содержимого, в отличие от wp-signup.php. Файл выполняет единственную операцию — активирует аккаунт, если получен верный ключ и выводит сообщение об ошибке или успешном выполнении операции.

Удалим все ненужные проверки и require — с 1 по 69 строчку в WordPress 4.1.1. В самом конце уберем вызов get_footer(). Оставшееся содержимое перенесем в функцию selena_network_activate_main().

Интересно заметить, что здесь перед загрузкой WordPress (wp-load.php) объявлялась константа WP_INSTALLING. Ее наличие заставляет WordPress не загружать плагины.

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

Готовую функцию можно использовать на заранее созданной странице через шорткод или отдельный шаблон в дочерней теме.

Финальный вариант wp-activate.php на Github.

Письма активации с правильными ссылками

Страница активации готова к работе, но WordPress не знает о ней и по прежнему будет отправлять письма активации со ссылкой на wp-activate.php. В отличие от wp-signup.php здесь нет фильтра, который бы позволил изменить адрес. Вместо этого нужно написать свою функцию, которая будет отправлять письма с правильными ссылками.

В момент заполнения и отправки формы на странице регистрации WordPress вызывает wpmu_signup_user() или wpmu_signup_blog() в зависимости от типа регистрации. Обе функции создают новую запись в таблице wp_signups заполняя ее необходимым содержимым, среди которого есть и ключ активации аккаунта.

После, в зависимости от функции, вызывается wpmu_signup_user_notification() или wpmu_signup_blog_notification(). Обе функции имеют схожий функционал — генерируют и отправляют письмо со ссылкой активации, но принимают разные аргументы. В обоих есть фильтры для «перехвата» события.

if ( ! apply_filters( 'wpmu_signup_user_notification', $user, $user_email, $key, $meta ) )   return false;  

Для активации аккаунтов с созданием блога:

if ( ! apply_filters( 'wpmu_signup_blog_notification', $domain, $path, $title, $user, $user_email, $key, $meta ) ) {   return false;  }  

Остается лишь написать свои обработчики, внутри которых отправлять письма через wp_mail(), а в самом конце обязательно отдавать false, чтобы WordPress не отправил письмо активации дважды — одно ваше, другое — письмо по умолчанию со ссылкой на wp-activate.php.

function selena_network_wpmu_signup_user_notification( $user, $user_email, $key, $meta = array() ) {   // Генерируем заголовок, текст и заголовки письма   // ...   // Отправляем письмо или добавляем Cron-задачу для отправки письма   wp_mail( $user_email, wp_specialchars_decode( $subject ), $message, $message_headers );     // Отдаем false, чтобы WordPress не отправил письмо активации дважды   return false;  }  add_filter( 'wpmu_signup_user_notification', 'selena_network_wpmu_signup_user_notification', 10, 4 );  

Если вы отправляете письма через SMTP-сервер или количество регистраций очень велико, следует задуматься о том, чтобы не отправлять письма мгновенно. Вместо этого можно добавлять Cron-задачи с помощью WordPress Cron.

Закрываем доступ к wp-signup.php и wp-activate.php

Создав свои собственные страницы регистрации и активации, может потребоваться закрыть «оригиналы». Например, если на странице регистрации есть дополнительные поля, которые необходимо обязательно заполнить. Также многие WordPress сайты подвергаются спам-регистрациям.

Решить две проблемы одним действием можно попросив Apache отдавать 404 в случае попытки открытия этих страниц. Для этого нужно лишь прописать пару дополнительных RewriteRule в ваш файл-конфигурацию или .htaccess.

RewriteEngine On  RewriteBase /  # Знание регулярных выражений никогда не будет лишним :)  RewriteRule ^wp-signup.php - [R=404,L]  RewriteRule ^wp-activate.php - [R=404,L]    # BEGIN WordPress  # Правила от WordPress по умолчанию не трогаем :)  # ...  # END WordPress  

Заключение

Для этой и многих других «проблем» связанных с WordPress в интернете есть множество решений. Например, для создания страниц регистрации и активации некоторые предлагают переписывать оригинальные wp-signup.php и wp-activate.php. Этого не стоит делать, потому что в случае обновления WordPress вы потеряете все изменения, внесенные в файлы, а также не сможете, проверить целостность ядра с помощью WP-CLI.

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

P.S.

Для автоматического назначения разных ролей новым пользователям можно использовать плагин Multisite User Management.

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

wpmag.ru

Ресурсы, необходимые для работы с этим руководством:

  • Xampp (PHP версии 5.3 или более поздней и MySQL версии 4.1.3 или более поздней);
  • Базовые знания по PHP, HTML и CSS;
  • Время и терпение.

Что мы создаем

Скачать ZIP-архив

Настройка сервера

Вы можете использовать любой хостинг с поддержкой PHP и MySQL (только убедитесь, что он поддерживает PHP версии 5.3 или более поздней и MySQL версии 4.1.3 или более поздней).

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

Шаг 1 – MySQL

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

Взгляните на приведенный ниже код SQL:

Обратите внимание, что все данные представляют собой varchar, и даже пароль позже будет преобразован в символ md5, чтобы обеспечить его безопасность.

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

Теперь, когда таблица создана, нужно задать разметку и стили CSS, а затем PHP-код.

Шаг 2 — Разметка

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

Сначала создайте файл login.php. Скопируйте в него приведенный ниже код:

С помощью этого кода вы получите результат, который показан на рисунке ниже:

Далее, создаем файл register.php. Скопируйте и вставьте в него приведенный ниже код:

С помощью этого кода вы получите следующий результат:

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

Этот код даст нам следующий результат:

Шаг 3 — CSS

Теперь, когда разметка готова, нужно добавить CSS-код. В основном, он будет содержать стили для класса страниц container, а также для кнопок и некоторых других элементов, таких как текстовые поля и лайки:

К этому времени, вы уже должны получить тот же результат, что и на изображении, приведенном в начале статьи.

Шаг 4 — Многоразово используемые элементы

Теперь, когда у вас готовы разметка и стили CSS, попробуйте задействовать такие многоразово используемые элементы, как раздел заголовка и раздел подвала. В корневой папке создайте новую папку и назовите ее “includes“.

В ней будут содержаться все включаемые файлы. Затем в папке includes создайте новый файл и назовите его header.php. Скопируйте часть раздела заголовка в каждый из трех PHP-файлов, созданных нами ранее. Таким образом, у вас получится:

Следующее, что вам нужно сделать, это удалить разметку, скопированную из файла header.php во всех трех PHP-файлах и заменить ее следующим PHP-кодом:

Теперь, сделайте то же самое с подвалом. Скопируйте приведенный ниже код и вставьте его в новый файл footer.php. Он будет включать в себя раздел подвала:

Затем снова удалите эту часть во всех трех файлах PHP и замените ее следующим кодом:

<h3>Шаг — 5 Подключение к базе данных</h3>

Теперь, когда вы включили файлы разделов заголовка и подвала, пора создать новый включаемый файл. Назовите его constants.php и скопируйте в него следующий код:

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

Далее, в папке includes создайте новый файл и назовите ее connection.php. В нем будут храниться коды подключения к базе данных. Скопируйте и вставьте в него код, приведенный ниже:

Обратите внимание, что вам обязательно требуется файл constants.php. Если при подключении возникнет ошибка, с его помощью будет остановлено выполнение скрипта и выдано сообщение об ошибке.

Включите файл connection.php в файлах login.php и register.php, так как эти два файла необходимы для кода управления подключением. Скопируйте приведенный ниже код и вставьте его перед включением файла header.php:

Шаг — 6 Конфигурация файла register.php

Теперь необходимо преобразовать форму регистрации в полноценную систему регистрации. Чтобы сделать это, нужно добавить включение еще нескольких файлов PHP после включения header.php. Скопируйте и вставьте приведенный ниже код в файл register.php:

В приведенном выше коде, обратите внимание, что перед добавлением данных в базу производится их валидация. Переменная message используется для хранения сообщения об ошибках или об успешном выполнении действия.

Шаг — 6 Конфигурация файла login.php

Теперь, когда пользователи могут регистрироваться на сайте, необходимо создать систему авторизации. С помощью этого очень простого PHP-кода, вы можете включить систему авторизации. Скопируйте код и вставьте его перед разметкой в файл login.php:

В приведенном выше коде, перед перенаправлением пользователя на страницу intropage.php, которую мы добавим чуть позже, вы в первую очередь должны проверить, была ли установлена сессия.

В противном случае, если сессия не была установлена, пользователю с помощью переменной message будет выдаваться сообщение об ошибке или он будет перенаправляться на страницу login.php.

Шаг — 7 Конфигурация файла intropage.php

Мы установили все, что нужно для файлов register.php и login.php. Теперь вы просто должны обеспечить, чтобы пользователь оставался в системе при перенаправлении на страницу intropage.php. Скопируйте и вставьте приведенный ниже код в файл intropage.php:

Обратите внимание, что оператор if был создан для проверки, установлена ли сессия, и в зависимости от этого должен ли пользователь перенаправляться на страницу login.php или остаться на странице intropage.php.

Шаг — 8 Конфигурация файла logout.php

Наконец, чтобы пользователь мог выйти из системы, нужно удалить сессию с помощью session_destroy.

Скопируйте данный код в файл logout.php:

Заключение

Сегодня мы узнали, как создать простую систему авторизации, используя PHP и MySQL. Конечно, существует много аспектов, которые нужно учитывать, когда речь идет о безопасности, но это уже неплохое начало.

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

Надеюсь, вам понравилась эта статья. Увидимся в следующий раз!

Перевод статьи «How to Create a Login and Registration System Using PHP and MySQL» был подготовлен дружной командой проекта Сайтостроение от А до Я.

www.internet-technologies.ru

You May Also Like

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.