Перевірка даних форми за допомогою PHP

17.03.2022 0 By svvas

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

// отримання даних форми
<?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 "Заповніть пусті поля";
}
?>

Comments

comments