Беззахисні users register. Плагін форми входу та реєстрації (User Registration). Тепер створимо основні скрипти для подальшої роботи

Дозволяє легко створювати форми входу та реєстрації в консолі WordPress.

Основні переваги плагіна:

  • Легка побудова форм за допомогою перетягування елементів;
  • Необмежену кількість полів та створюваних форм;
  • Приємний та простий зовнішній вигляд;
  • Можливість розташувати поля у колонки;
  • Шорткод для вставки форм;
  • Підтримка recaptcha, email-оповіщення, готовий до перекладу та ін.

Ну що, подивимося, що собою являє.

Після встановлення та активації, плагін пропонує створити необхідні сторінки реєстрації та облікового запису. Цей процес можна пропустити і створити потрібні сторінки пізніше самому. Все-таки, щоб не лізти в документацію, краще встановити ці демо-зразки і поправити за своїм бажанням.

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

На сторінці глобальних налаштувань 3 вкладки: загальні налаштування, інтеграція з recaptcha, та редагування емайл повідомлень.

У загальних налаштуваннях можна вибрати роль користувача за промовчанням, спосіб входу після реєстрації, встановити сторінки, мітки. Деякі з цих речей можна змінювати у налаштуваннях самої форми.

Після встановлення плагін створює демо-форму і підключає її на нову створену сторінку реєстрації. Ось як виглядає редактор форми.

Справді, усі поля перетягуються. При натисканні на полі відкривається вікно налаштувань, в якому можна задати мітку, заповнювач, зробити обов'язковим, деяким полям можна задати клас (але чомусь не всім).

Тепер із мінусів.

  • Відсутність елементів стилізації. Швидше за все, вам доведеться правити в CSS деякі поля, кнопку надсилання.
  • Потрібно перекласти всі фронтенд рядки, а також емайл повідомлення, що також є деякі трудовитрати.

З урахуванням вищесказаного, я поставив би плагіну оцінку 7/10, не вистачає інструментів оформлення, та й перекладати ліньки. Але плагін має бути і справляється зі своїм завданням.

Пишіть ваші думки, якщо використовували цей плагін User Registrations або збираєтеся використовувати.

User Registration plugin дає вам змогу створювати frontend user registration form and login form. Drag and Drop fields make ordering and creating forms extremely easy. Plugin is lightweight, extendible, і може бути використаний для створення будь-якого типу registration form.

Без завантаження форми, plugin as supports beautiful frontend profile account page for profile edit, password change, Log out and more. Users can visit their account page after registration and view the details вони мають filled і можуть здійснити зміни if necessary.

The registration forms є 100% mobile responsive and optimized to display on any devices.

User Registration Plugin in action:

Features And Options:

  • Simple, Clean and Beautiful WordPress Registration Forms
  • Drag and Drop Fields
  • Unlimited Registration Forms
  • Inbuilt Login Form
  • Frontend Profile account page
  • Multiple Column Design
  • Multiple Form template designs
  • Shortcode Support
  • Google reCaptcha Support (v2 і v3)
  • Email notifications
  • Email Customizers
  • Form Duplicate Option
  • Admin approval option for registration
  • Auto login option
  • Email confirmation to register
  • Enable/Disable Strong Password
  • Default User Role Selection Option
  • Support for profile image upload
  • Form Preview Option on backend
  • User data export in CSV
  • Import/Export registration form
  • Well Documented
  • Translation ready

Premium Addons

User Registration can be easily extended with some premium addons.

  • Contributors & Developers

    “User Registration – Custom Registration Form, Login and User Profile для WordPress” is open source software. The following people have contributed to цей plugin.

    Contributors

    Changelog

    1.7.6 – 30/12/2019

    • Enhancement – ​​Registered user source.
    • Tweak – Remove inline css від recaptcha.
    • Fix – Email attachment hook mismatch arguments.
    • Fix – wp_authenticate_user filter mismatch arguments.
    • Fix – Hide/show password enabled in edit profile.

    1.7.5 – 13/12/2019

    • Enhancement – ​​Redirect URL after logout.
    • Enhancement – ​​Password field eye icon.
    • Fix – Escaping attribute in checkbox field.
    • Fix – Remove admin notice from form builder.
    • Fix – Case sensitive in confirm password.
    • Fix – Invite code field name не editable.

    1.7.4 – 21/11/2019

    • Feature – WPML Plugin Compatibility.
    • Tweak – Country Field Default Value.
    • Tweak – Icons alignment to support WordPress v5.3.
    • Fix – HTML field Form Duplication.

    1.7.3 – 04/10/2019

    • Fix – Form ID being empty.
    • Fix – Form ID check.
    • Fix – Field key not found in edit profile details.

    1.7.2 – 02/10/2019

    • Refactor – Has date field function.
    • Refactor – Check username function.
    • Tweak - Button spinner.
    • Fix – Exclude file upload field from export users.
    • Fix – Remove the Password field from excluding.
    • Fix – Exclude Confirm Email field from edit profile.
    • Fix - Undefined error on label hidden.
    • Fix – Grid toggle text.
    • Fix – Email address vaidation.
    • Fix – Heartbeat start on Document ready.
    • Add – Styles for table caption.
    • Dev – Introducing get_form function.

    1.7.1 – 13/09/2019

    • Fix – Password Validation Message.
    • Fix – Password strength error message translation issue.
    • Fix – Smart Tag issue while sending the email.
    • Fix – Double click on form submit button.
    • Fix - Submit button hidden in IE.
    • Fix – Blink on the grid hover.

    1.7.0 – 05/09/2019

    • Feature – Live New user registration notice and badge.
    • Feature – Import/Export registration form in JSON format.
    • Feature – Shortcut to save form (Ctrl + s).
    • Tweak – Form name edit position change.
    • Tweak - UI enhancement for full-screen mode.
    • Tweak – Input field box design on the builder.
    • Tweak – Brand logo add in the builder.
    • Tweak – Header design enhancement on the builder.
    • Tweak – Remove footer save button.
    • Tweak – Remove builder reload on save.
    • Tweak – Form builder pre-loader.
    • Tweak - Setting tab design.
    • Tweak – Form fields design.
    • Tweak – Overall form builder design
    • Tweak – Add row button color adjustment.
    • Tweak – Field description placement below the input in front-end.
    • Tweak – Success and Error messages.
    • Tweak – Fields Icon change.
    • Tweak – SweetAlert2 confirmation and alert box.
    • Fix – Manage draggable user fields on row delete.
    • Add – Perfect Scrollbar in the builder.
    • Add - New Smarttag (((ur_login))).
    • Dev – Action hook in form builder footer wrapper.
    • Dev – Action hook after form save.
    • Dev – Filter hooks before and after form fields.
    • Dev – Filter before and after field row.
    • Dev – Add and Delete row JS events.
    • Dev – Color picker field in form setting.
    • Dev – Bool to string and vise Versa для формування add.

    1.6.3 – 19/08/2019

    • Enhancement – ​​Send Email to Admin when user changes their profile details.
    • Feature – Fullscreen builder mode.
    • Tweak – Template file update to locate add-ons file
    • Add – Accept redirect_to get parameter in login page.
    • Fix – Password strength error message not showing.
    • Fix – Profile picture in my account dashboard.
    • Fix – Profile picture save with selecting any file.
    • Fix – Prevent empty search query.
    • Fix – Email format issue.
    • Dev – Hook to filter form data in profile details.

    1.6.2 – 09/07/2019

    • Enhancement – ​​Profile picture upload to browser upload.
    • Tweak - Enqueue scripts.
    • Fix – Menu Items invalid arguments.
    • Fix – Log delete on reload.

    1.6.1 – 04/06/2019

    • Feature – Two Column Login and Registration Form.
    • Tweak – Secondary button design.
    • Tweak – Button status on hover, foucs and active.
    • Fix – Remove escaping in redirect url.
    • Fix – Lost Password Email from header.
    • Fix – json_decode error on user profile.
    • Fix – Admin can register user.
    • Fix - UI Dragging.
    • Fix – Field option selection in builder after field deleted.
    • Fix - Sub menu UI.

    1.6.0.1 – 08/05/2019

    • Fix – Form wise redirection

    1.6.0 – 07/05/2019

    • Feature – Form Wise Redirection.
    • Feature – Added Number field’s Min, Max & Step atribut option along with Custom CSS option.
    • Tweak – Introducing new User Registration Brand Logo change.
    • Tweak – Gravatar message in Edit Profile page hide when selected Custom Picture.
    • Tweak – On Prevent Core Login option налаштований redirect Administrator to Dashboard.
    • Tweak – Setting pages sub-menu design change.
    • Tweak – Edit profile in My Account page field structure.
    • Tweak – My Account page design change.
    • Tweak – Conditional Logic Option design change in Field option.
    • Add – Form Preview Button.
    • Add – Hide and Show Password button на сторінці Login.
    • Add – Introducing Email Confirmation field.
    • Fix – Undefined index found_avatar in Gravatar.
    • Fix – Registration form submission Undefined error.
    • Fix – KeepAlive issue в Copy Shortcode button.
    • Fix – Lost Password Endpoint conflict.
    • Fix – Max Length for input field.

    1.5.10 – 04/05/2019

    • Feature – Prevent Core Login and Registration page.
    • Feature – Custom css fields for default fields.
    • Fix – Prevent Dashboard access issue for multiple user roles.
    • Fix – Target blank in anchor tag issue.
    • Dev – Filter hook to modify form fields.
    • Dev – Filter hook to be used у новому розділі типу.
    • Tweak - Bypass validation for read-only fields.

    1.5.9 – 03/28/2019

    • Fix – Profile picture no displaying in My account page.
    • Tweak – Dashboard Widget data fetch через Ajax request.
    • Dev – Filter hook added to hide current password in edit profile page.
    • Dev – Filter hook added bypass current password validation and check in form handler.

    1.5.8.1 – 03/04/2019

    • Fix – Update user meta profile_pic_id and prefix change on review notice

    1.5.8 – 02/26/2019

    • Feature – Custom profile picture upload on account profile and admin profile.
    • Feature – Dashboard widget for users activity.
    • Feature – Default value for country field.
    • Feature – Option to delete user registration data on plugin deletion.
    • Feature – Password strength meter on lost password and change password form.
    • Add – Admin notice to leave review on wp.org
    • Вгору - Скачати до error message due to minimum password strength.
    • Remove – Caching prevention after header sent. Should’ve been as earlier as wp hook.
    • Fix – Minimum password strength bug

    1.5.7 – 02/05/2018

    • Refactor – Options for select, checkbox and radio field.
    • Add – Placeholder for select and country field.
    • Додатково - Cache helper class for flushing cache on user registration form.
    • Fix – Confirmaction of export/erase personal data з custom login form.
    • Fix – Privacy policy made required by default.
    • Fix – Formatting of form title display.
    • Fix – Validate for same email as password.
    • Dev – Action hook for enqueuing scripts.

    1.5.6 – 11/01/2018

    • Fix – Authenticated XSS. Thanks wpvulndb.com для nofifying.
    • Fix – Smart tag bug on resend confirmation email

    1.5.5 – 08/01/2018

    • Feature – Google reCaptcha v3 support
    • Fix – Data display for input fields on users profile
    • Tweak – Disable input fields on builder panel
    • Tweak – Beautify accordion on fields section

    1.5.4 – 02/01/2018

    • Fix – Smart tag for reset password email
    • Fix – Date field in user profile
    • Tweak – Message for lost password while awaiting admin approval
    • Dev – Filter to override success/failure response
    • Dev – Filter to override user role
    • Dev – Filter to update settings on settings page

Вітаю! Зараз ми спробуємо реалізувати найпростішу реєстрацію на сайті за допомогою PHP+MySQL. Для цього на вашому комп'ютері необхідно встановити Apache. Нижче наведено принцип роботи нашого скрипта.

1. Почнемо зі створення таблички users у базі. Вона міститиме дані користувача (логін та пароль). Зайдемо до phpmyadmin (якщо ви створюєте базу на своєму ПК http://localhost/phpmyadmin/). Створюємо таблицю users, у ній буде 3 поля.

Я створюю її в базі mysql, ви можете створювати в іншій базі. Далі встановлюємо значення, як у малюнку:

2. Необхідне з'єднання з цією таблицею.Давайте створимо файл bd.php. Його зміст:

$db = mysql_connect ("ваш MySQL сервер", "логін до цього сервера", "пароль до цього сервера");
mysql_select_db ("ім'я бази, до якої підключаємось", $ db);
?>

У моєму випадку це виглядає так:

$db = mysql_connect ("localhost", "user", "1234");
mysql_select_db ("mysql", $ db);
?>

Зберігаємо bd.php.
Чудово! Ми маємо таблицю в базі, з'єднання до неї. Тепер можна приступати до створення сторінки, на якій користувачі залишатимуть свої дані.

3. Створюємо файл reg.php із змістом (усі коментарі всередині):



Реєстрація


Реєстрація
















4. Створюємо файл, який буде заносити дані до бази та зберігати користувача. save_user.php(Коментарі всередині):



{
}
//якщо логін і пароль введені, то обробляємо їх, щоб теги та скрипти не працювали, мало що люди можуть ввести


//видаляємо зайві прогалини
$ Login = Trim ($ Login);
$ password = trim ($ password);
// підключаємось до бази
// Перевірка на існування користувача з таким самим логіном
$result = mysql_query("SELECT id FROM users WHERE login="$login"",$db);
if (!empty($myrow["id"])) (
exit ("Вибачте, введений вами логін вже зареєстрований. Введіть інший логін.");
}
// якщо такого немає, зберігаємо дані
$result2 = mysql_query ("INSERT INTO users (login,password) VALUES("$login","$password")");
// Перевіряємо, чи є помилки
if ($result2=="TRUE")
{
echo "Ви успішно зареєстровані! Тепер ви можете зайти на сайт. Головна сторінка";
}
else (
echo "Помилка! Ви не зареєстровані.";
}
?>

5. Тепер наші користувачі можуть реєструватися!Далі необхідно зробити "двері" для входу на сайт вже зареєстрованим користувачам. index.php(Коментарі всередині) :

// Вся процедура працює на сесіях. Саме в ній зберігаються дані користувача, доки він знаходиться на сайті. Дуже важливо запустити їх на самому початку сторінки!
session_start();
?>


Головна сторінка


Головна сторінка











Зареєструватись



// Перевіряємо, чи порожні змінні логіна та id користувача
if (empty($_SESSION["login"]) or empty($_SESSION["id"]))
{
// Якщо порожні, ми не виводимо посилання
echo "Ви увійшли на сайт, як гість
Це посилання доступне лише зареєстрованим користувачам";
}
else
{

У файлі index.phpми виведемо посилання, яке буде відкрито лише для зареєстрованих користувачів. У цьому полягає вся суть скрипта - обмежити доступом до будь-яким даним.

6. Залишився файл із перевіркою введеного логіну та пароля. testreg.php (коментарі всередині):

session_start();// вся процедура працює на сесіях. Саме в ній зберігаються дані користувача, доки він знаходиться на сайті. Дуже важливо запустити їх на самому початку сторінки!
if (isset($_POST["login"])) ( $login = $_POST["login"]; if ($login == "") ( unset($login);) ) //заносимо введений користувачем логін в змінну $login, якщо вона порожня, то знищуємо змінну
if (isset($_POST["password"])) ( $password=$_POST["password"]; if ($password =="") ( unset($password);) )
//заносимо введений користувачем пароль у змінну $password, якщо він порожній, то знищуємо змінну
if (empty($login) or empty($password)) //якщо користувач не ввів логін або пароль, то видаємо помилку та зупиняємо скрипт
{
exit ("Ви ввели не всю інформацію, поверніться назад і заповніть всі поля!");
}
//якщо логін і пароль введені,то обробляємо їх, щоб теги та скрипти не працювали, мало що люди можуть ввести
$login = stripslashes($login);
$login = htmlspecialchars($login);
$password = stripslashes($password);
$password = htmlspecialchars($password);
//видаляємо зайві прогалини
$ Login = Trim ($ Login);
$ password = trim ($ password);
// підключаємось до бази
include ("bd.php"); // файл bd.php повинен бути в тій же папці, що і всі інші, якщо це не так, то просто змініть шлях

$result = mysql_query("SELECT * FROM users WHERE login="$login"",$db); //витягуємо з бази всі дані про користувача з введеним логіном
$ myrow = mysql_fetch_array($result);
if (empty($myrow["password"]))
{
//якщо користувача з введеним логіном не існує
}
else (
//якщо існує, то звіряємо паролі
if ($myrow["password"]==$password) (
//якщо паролі збігаються, то запускаємо користувачеві сесію! Можете його привітати, він увійшов!
$_SESSION["login"]=$myrow["login"];
$_SESSION["id"]=$myrow["id"];//ці дані дуже часто використовуються, ось їх і буде "носити з собою" користувач
echo "Ви успішно увійшли на сайт! Головна сторінка";
}
else (
//якщо паролі не зійшлися

Exit ("Вибачте, введений вами login або пароль неправильний.");
}
}
?>

Ну от і все! Може урок і нудний, але дуже корисний. Тут показана тільки ідея реєстрації, далі Ви можете вдосконалити її: додати захист, оформлення, поля з даними, завантаження аватарів, вихід з акаунту (для цього просто знищити функцією змінні з сесії) unset) і так далі. Успіхів!

Все перевірив, чи працює справно!