Створення форми на PHP – робимо свій сайт красивим!

28

Від автора: є серед розробників унікуми, які «програмісти від Бога». Вони також легко пишуть код, як і читають його. Але все-таки вони дивні і «не звідси»! Ось один такий унікум нещодавно порівняв добре зроблений сайт з красивою дівчиною, тому що на такий ресурс (як і до дівчини) хочеться приходити знову і знову. У сьогоднішньому матеріалі ми розглянемо створення форми PHP. І у гарної дівчини, і у класного сайту всі форми повинні бути треба!

Що будемо ліпити

Продовжуємо започатковану кілька матеріалів назад тему створення динамічних ресурсів. Сьогодні ми замахнемося на більш глобальні речі! Ми створимо повноцінну систему авторизації та реєстрації для сайту на основі PHP.

Чому їх не варто реалізовувати окремо? Ну, перш за все тому, що вони тісно взаємопов’язані між собою. Обидва модулі (реєстрації і авторизації) використовують одну і ту ж таблицю в БД ресурсу, в яку заносяться всі відомості про нових користувачів сайту. А потім витягуються (перевіряються на відповідність) при авторизації.

Загальний принцип дії функціоналу: спочатку користувач реєструється через відповідну форму. Після заповнення всіх полів дані відправляються для обробки на сервер, де заносяться в таблицю БД. При наступному заході на ресурс юзер вводить вказані при реєстрації логін і пароль. Їх правильність перевіряється шляхом вибірки даних з таблиці. Якщо обидва значення вказані правильно, то користувач потрапляє на сторінку вітання. Інакше видається повідомлення про неправильному введенні пароля і логіна. Почнемо з створення форми реєстрації PHP. Ось її код HTML:

Зареєструйтеся

Ваше ім’я:

Бажаний нік:

Ваш email:

Пароль:

Вже зареєстровані?

Так створена форма реєстрації виглядає в браузері:

Інша розмітка

Так як створюються динамічні форми PHP взаємопов’язані, то відразу «оприлюдню» та код наступної, призначеної для авторизації:

Вхід:

Ім’я:

Password:

Ще не зареєстровані, то
зареєструйтеся!

Ось так ця форма виглядає у вікні браузера.

Додаємо динамічності

Тепер настав час створити файли проекту:

reg.php

log.php

enter.php

header.php

Почнемо з останнього. Він допоможе нам полегшити весь процес створення форми авторизації на PHP. У нього ми запишемо використовується всіма трьома формами частину розмітки HTML – розділ header:

Збережіть цей файл на сервері як header.php. Потім створіть всі перераховані вище файли, але вже без розділу header. А замість нього вгорі вставити рядок:

Тепер, якщо відкрити будь-яку з вище перерахованих веб-сторінок проекту і переглянути в браузері їх код, то побачите, що розділ header на місці. І все тому, що при виклику будь-якої зі сторінок його розмітка динамічно додається з однойменного файлу.

Таку динаміку можна реалізувати для будь-якого модуля сайту. Навіть у формі для створення папки на сервері PHP.

Переходимо до MySQL

Ось типи даних, і назви таблиці, яку я створив через phpMyAdmin. Можна і за допомогою команди CREATE TABLE, але через утиліту швидше.

Зверніть увагу, що у нас всі стовпці таблиці крім id мають тип даних varchar. У дужках вказується максимальна довжина рядка значення для кожного поля.

Налаштовуємо реєстрацію

У файлі reg.php розташовується весь функціонал для реєстрації користувачів: форма і обробник введених в неї даних. При використанні зв’язки PHP MySQL для створення і обробки форм значення всіх полів, що заповнюються користувачем і передаються на обробку, потрібно попередньо очистити». Для цього використовується функція mysqli_real_escape_string (), яка «блокує» всі спеціальні символи, що містяться в рядку. Код файлу:

Зареєструйтеся

Ваше ім’я:

Бажаний нік:

Ваш email:

Пароль:

Вже зареєстровані?

На основі цього прикладу можна реалізувати скрипт створення форми редагування даних (update PHP). Але це вже трохи з іншої «опери» :) . Ось як створена форма реєстрації виглядає у браузері:

Зверху неї відображаються всі системні повідомлення. При успішній реєстрації можна додати перехід на сторінку привітання (enter.php). Для цього замініть рядок PHP:

echo «обліковий Запис успішно створено»;

на

echo’
window.location = «enter.php»
‘;

Код файлу enter.php:

Welcome USER!

Думаю, на сьогодні досить. На основі наведеного прикладу ви легко зможете створити скрипт авторизації. Можливо, у вас вийдуть більш розкішні форми для сайту :) .