Проверка формы PHP не работает при отправке?

Когда я заполняю форму и нажимаю кнопку «Отправить», моя проверка не отображается или не работает, и в случае сбоя она должна показывать ошибки. Он просто перенаправляет на ту же страницу (index.php), и все. Также мой пользовательский css не меняется, когда я вношу некоторые изменения в классы. Вот мой код:

структура кода:

Project
|    
+-- includes
|   |  
|   +-- footer.php
|   +-- form_process.php
|   +-- header.php  
+-- public
|   |
|   +-- main.js
|   +-- style.css
+-- vendor
|
+-- composer.json
+-- index.php

стиль.css

.error
{
   color:red;
}

.success
{
   color:#ff9966;
   text-align:center;
   font-weight:bold;
   font-size:15px;
}

индекс.php:

<?php include 'includes/header.php'; ?>
<?php include 'includes/form_process.php'; ?>

<div class = "container">  
   <form id = "contact" action = "<?php $_SERVER['PHP_SELF']; ?>" method = "POST">
      <h2>Contact</h2>
      <div class = "form-group">
         <input type = "text" class = "form-control" placeholder = "Enter company name:" value = "<?php $company_name; ?>" name = "company_name">
         <span class = "error"> <?php $company_name_error; ?> </span>
      </div>
      <div class = "form-group">
         <input type = "text" class = "form-control" placeholder = "Enter your name:" value = "<?php $user_name; ?>" name = "user_name">
         <span class = "error"> <?php $user_name_error; ?> </span>
      </div>
      <div class = "form-group">
         <input type = "text" class = "form-control" placeholder = "Enter your surname:" value = "<?php $user_surname; ?>" name = "user_surname">
         <span class = "error"> <?php $user_surname_error; ?> </span>
      </div>
      <div class = "form-group">
         <input type = "text" class = "form-control" placeholder = "Enter your email:" value = "<?php $email; ?>" name = "email">
         <span class = "error"> <?php $email_error; ?> </span>
      </div>
      <div class = "form-group">
         <input type = "text" class = "form-control" placeholder = "Enter your number:" value = "<?php $number; ?>" name = "number">
         <span class = "error"> <?php $number_error; ?> </span>
      </div>
      <div class = "form-group">
         <textarea type = "text" class = "form-control" placeholder = "Type your message here..." <?php $message; ?> rows = "6" name = "message"></textarea>
      </div>
      <div class = "form-group">
         <button class = "btn btn-success" type = "submit" name = "submit" id = "contact-submit">Submit</button>
      </div>
      <div class = "success"> <?php $success; ?> </div>
  </form>
</div>
<?php include 'includes/footer.php'; ?>

form_process.php:

<?php

require_once 'vendor/autoload.php';

$company_name_error = $user_name_error = $user_surname_error = $email_error = $number_error = "";
$company_name = $user_name = $user_surname = $email = $number = $message = $success = "";

function test_input($data)
{
   $data = trim($data);
   $data = stripslashes($data);
   $data = htmlspecialchars($data);
   return $data;
}

if ($_SERVER["REQUEST_METHOD"] == "POST") {
   if (empty($_POST["company_name"])) {
       $company_name_error = "Company name is required!!!";
   } else {
       $company_name = test_input($_POST["company_name"]);
       if (!preg_match("/^[a-zA-Z ]*$/", $company_name)) {
        $company_name_error = "Only letters and white spaces are allowed!!!";
     }
   }

   if (empty($_POST["user_name"])) {
       $user_name_error = "User name is required!!!";
   } else {
       $user_name = test_input($_POST["user_name"]);
       if (!preg_match("/^[a-zA-Z ]*$/", $user_name)) {
        $user_name_error = "Only letters and white spaces are allowed!!!";
       }
   }

   if (empty($_POST["user_surname"])) {
       $user_surname_error = "User surname is required!!!";
    } else {
       $user_surname = test_input($_POST["user_surname"]);
       if (!preg_match("/^[a-zA-Z ]*$/", $user_surname)) {
        $user_surname_error = "Only letters and white spaces are allowed!!!";
      } 
    }

    if (empty($_POST["email"])) {
       $email_error = "Email is required!!!";
    } else {
       $email = test_input($_POST["email"]);
       if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
        $email_error = "Invalid email format!!!";
       }
    }

    if (empty($_POST["number"])) {
       $number_error = "Number is required!!!";
    } else {
       $number = test_input($_POST["number"]);
       if (!preg_match("/^[0-9+\-\./\(\) ]{6,30}$/", $number)) {
        $number_error = "Enter phone number from 6 to 30 characters!!!";
       }
    }

    if (empty($_POST["message"])) {
       $message = "";
    } else {
       $message = test_input($_POST['message']);
    }
}
echo ошибки меняются <span class = "error"> <?php $company_name_error; ?> </span> на <span class = "error"> <?php echo $company_name_error; ?> </span>
Masivuye Cokile 19.02.2019 12:57
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
1
45
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Кажется, что вы никогда не echo ни одна из переменных в вашем index.php

Ваш <?php $number_error; ?> внутри <span class = "error">, например, должен быть либо <?= $number_error; ?>, либо <?php echo $number_error; ?>

вероятно, потому что он много копировал и вставлял! хД

Kebab Programmer 19.02.2019 13:02

Другие вопросы по теме