Перевірка даних форми за допомогою PHP
17.03.2022Валідацію форм потрібно здійснювати як на “фронті” з допомогою спеціальних тегів так і обов’язково на “беці”, тому що якщо створити форму без такої перевірки, то “погані” користувачі можуть нашкодити сайту.
// отримання даних форми
<?php
$name = $_POST['name'];
$surname = $_POST['surname'];
$email = $_POST['email'];
$message = $_POST['message'];
?>
// функція очистки від html та php
<?php
function clean($value = "") {
$value = trim($value); // видалення пробілів
$value = stripslashes($value); // видалення екранованих символів
$value = strip_tags($value); // видалення HTML та PHP тегів
$value = htmlspecialchars($value); // перетворює спеціальні символи в HTML-сутності
return $value;
}
?>
// функція перевірки довжини рядка
<?php
function check_length($value = "", $min, $max) {
$result = (mb_strlen($value) < $min || mb_strlen($value) > $max);
return !$result;
}
?>
// очистка даних форми
<?php
$name = clean($name);
$surname = clean($surname);
$email = clean($email);
$message = clean($message);
<?php
if(!empty($name) && !empty($surname) && !empty($email) && !empty($message)) {
$email_validate = filter_var($email, FILTER_VALIDATE_EMAIL); // валідація e-mail
// перевірка довжини
if(check_length($name, 2, 25) && check_length($surname, 2, 50) && check_length($message, 2, 1000) && $email_validate) {
echo "Форма успішно заповнена";
} else {
echo "Введені дані не коректні";
}
} else {
echo "Заповніть пусті поля";
}
?>