@TRIGGERED

Почему не работает форма на HTML5?

Есть форма
spoiler
<form action="/form/toemail.php" enctype="text/plain" method="post">
                                        <div class="row align-items-end">
                                            <div class="col-12 col-md-4">
                                                <div class="form-group">
                                                    <select class="form-control" id="speciality">
                                                    <option>Speciality 1</option>
                                                    <option>Speciality 2</option>
                                                    <option>Speciality 3</option>
                                                    <option>Speciality 4</option>
                                                    <option>Speciality 5</option>
                                                </select>
                                                </div>
                                            </div>
                                            <div class="col-12 col-md-4">
                                                <div class="form-group">
                                                    <select class="form-control" id="doctors">
                                                    <option>Doctors 1</option>
                                                    <option>Doctors 2</option>
                                                    <option>Doctors 3</option>
                                                    <option>Doctors 4</option>
                                                    <option>Doctors 5</option>
                                                </select>
                                                </div>
                                            </div>
                                            <div class="col-12 col-md-2">
                                                <div class="form-group">
                                                    <input type="text" class="form-control" name="date" id="date" placeholder="Дата">
                                                </div>
                                            </div>
                                            <div class="col-12 col-md-2">
                                                <div class="form-group">
                                                    <input type="text" class="form-control" name="time" id="time" placeholder="Час">
                                                </div>
                                            </div>
                                            <div class="col-12 col-md-4">
                                                <div class="form-group">
                                                    <input type="text" class="form-control border-top-0 border-right-0 border-left-0" name="name" id="name" placeholder="Імя">
                                                </div>
                                            </div>
                                            <div class="col-12 col-md-4">
                                                <div class="form-group">
                                                    <input type="text" class="form-control border-top-0 border-right-0 border-left-0" name="number" id="number" placeholder="Телефон">
                                                </div>
                                            </div>
                                            <div class="col-12 col-md-4">
                                                <div class="form-group">
                                                    <input type="email" class="form-control border-top-0 border-right-0 border-left-0" name="email" id="email" placeholder="E-mail">
                                                </div>
                                            </div>
                                            <div class="col-12 col-md-7">
                                                <div class="form-group mb-0">
                                                    <textarea name="message" class="form-control mb-0 border-top-0 border-right-0 border-left-0" id="message" cols="30" rows="10" placeholder="Повідомлення"></textarea>
                                                </div>
                                            </div>
                                            <div class="col-12 col-md-5 mb-0">
                                                <div class="form-group mb-0">
                                                    <button type="submit" class="btn medilife-btn">Запис на консультацію <span>+</span></button>
                                                </div>
                                            </div>
                                        </div>
                                    </form>


И есть обработчик для формы:
spoiler
<?php 
/* Осуществляем проверку вводимых данных и их защиту от враждебных  
скриптов */ 
$date = htmlspecialchars($_POST["date"]); 
$time = htmlspecialchars($_POST["time"]); 
$name = htmlspecialchars($_POST["name"]); 
$number = htmlspecialchars($_POST["number"]); 
$email = htmlspecialchars($_POST["email"]); 
$message = htmlspecialchars($_POST["messages"]); 
/* Устанавливаем e-mail адресата */ 
$myemail = "hdtorent@gmail.com"; 
/* Проверяем заполнены ли обязательные поля ввода, используя check_input  
функцию */ 
$name = check_input($_POST["name"], "Введіть ваше імя!"); 
$time = check_input($_POST["time"], "Укажите время сообщения!"); 
$email = check_input($_POST["email"], "Введите ваш e-mail!"); 
$message = check_input($_POST["message"], "Вы забыли написать сообщение!"); 
/* Проверяем правильно ли записан e-mail */ 
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email)) 
{ 
show_error("<br /> Е-mail адрес не существует"); 
} 
/* Создаем новую переменную, присвоив ей значение */ 
$message_to_myemail = "Здравствуйте!  
Вашей контактной формой было отправлено сообщение!  
Имя отправителя: $name  
E-mail: $email  
Текст сообщения: $message  
Конец"; 
/* Отправляем сообщение, используя mail() функцию */ 
$from  = "From: $yourname <$email> \r\n Reply-To: $email \r\n";  
mail($myemail, $time, $message_to_myemail, $from); 
?> 
<p>Ваше сообщение было успешно отправлено!</p> 
<p>На <a href="index.php">Главную >>></a></p> 
<?php 
/* Если при заполнении формы были допущены ошибки сработает  
следующий код: */ 
function check_input($data, $problem = "") 
{ 
$data = trim($data); 
$data = stripslashes($data); 
$data = htmlspecialchars($data); 
if ($problem && strlen($data) == 0) 
{ 
show_error($problem); 
} 
return $data; 
} 
function show_error($myError) 
{ 
?> 
<html> 
<body> 
<p>Пожалуйста исправьте следующую ошибку:</p> 
<?php echo $myError; ?> 
</body> 
</html> 
<?php 
exit(); 
} 
?>


Но при отправке заполненной формы (все поля заполнены) выдает следующий текст:

Пожалуйста исправьте следующую ошибку:
Введіть ваше імя!

Скажите где допущено ошибку?
  • Вопрос задан
  • 149 просмотров
Решения вопроса 1
@TRIGGERED Автор вопроса
Вообщем нашел решение сам. Но всеравно всем спасибо, кто участвовал.
Решение:
в коде формы строка:
код формы
<form action="/form/toemail.php" enctype="text/plain" method="post">

в ней удаляем: enctype="text/plain"
И форма после этого работает.
Если оставить это, то нужно прописать в обработчике какой-то там "MIME". Я хз что это, но это важно, но проще удалить enctype ;)
Еще раз всем спасибо
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
chubokabrik
@chubokabrik
Возможно это проблема Jquery, так как name идет первый в списке, попробуй поменять его местами с чем нибудь, если выдаст другую ошибку, то точно из-за этого, а еще в google chrome есть debuger, очень помогает иногда ))
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы