Не работает кнопка отправки формы

380
10 июля 2017, 15:25

Есть такой html код:

<html>
<head>
<meta charset="utf-8">
<title>Test</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="backgr">
<br><br><br><br><br><br><br>
  <h2 class=text align="center"> Оставьте заявку </h2>
  <form name="test" method="post" action="sendform.php" align="center">
    <div>  
      <input type="text" class="brd" placeholder="Имя" name="first_name">
    </div>
    <div>  
      <input type="text" class="brd" placeholder="Телефон" name="phone_number">
    </div>
    <div>
      <input type="text" class="brd" placeholder="E-mail" name="client_mail">  
    </div> 
      <br>
    <div>  
      <button type="submit" form="test" name="sended" class="button">Отправить форму</button>
      </div>
        </form>
<br><br><br><br><br><br><br><br><br><br>   
</div>
</body>
</html>

Php файл для отправки формы выглядит так:

<?php
    function died($error) {        
        die();
    }
    if(!isset($_POST['sended'])) {
        died("Йуху");
    }
$first_name = $_POST['first_name'];
$phone_number = $_POST['phone_number']; 
$client_mail = $_POST['client_mail'];
$email1="leshaber24@yandex.ru";
$email_message = str_replace("#USER_NAME#", $first_name, file_get_contents("./emailinfo.html"));    
$email_message = str_replace("#PHONE_NUMBER#", $phone_number, file_get_contents("./emailinfo.html"));
$email_message = str_replace("#CLIENT_MAIL#", $client_mail, file_get_contents("./emailinfo.html"));
$headers = 'From: '.$email1."\r\n".
'Reply-To:'.$email1."\r\n" .
'X-Mailer: PHP/' . phpversion();
$headers .= 'MIME-Version: 1.0'."\r\n";
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";    
mail($email1, "Тестовое задание", $email_message, $headers);  
?>
<meta charset="utf-8">
<h1 class="animated shake">Спасибо, с вами скоро свяжутся!</h1>

И само письмо, которое должно приходить на почту:

<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="width=device-width">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Письмо с сайта</title>
    <style type="text/css">
    <p style="font-family:sans-serif;font-size:14px;font-weight:normal;margin:0;Margin-bottom:15px;">Привет, меня зовут: <span>#USER_NAME#</span> </p>
    <p style="font-family:sans-serif;font-size:14px;font-weight:normal;margin:0;Margin-bottom:15px;">Мой номер: <span>#PHONE_NUMBER#</span> </p>
    <p style="font-family:sans-serif;font-size:14px;font-weight:normal;margin:0;Margin-bottom:15px;">Моя почта: <span>#CLIENT_MAIL#</span> </p>    
  </body>
</html>

Не нажимается на сайте сама кнопка отправить и соответственно не выполняется php код. Спасибо!

Answer 1

Ошибка номер 1.

<button type="submit" form="test" name="sended" class="button">Отправить форму</button>

Атрибут form="test" уберите должно работать. Когда HTML странно себя видёт провертывайте разметку через https://validator.w3.org/

Ошибка номер 2.

$email_message = str_replace("#USER_NAME#", $first_name, file_get_contents("./emailinfo.html"));    
$email_message = str_replace("#PHONE_NUMBER#", $phone_number, file_get_contents("./emailinfo.html"));
$email_message = str_replace("#CLIENT_MAIL#", $client_mail, file_get_contents("./emailinfo.html"));

Нужно один раз читать "./emailinfo.html"

$html = file_get_contents("./emailinfo.html");
// Массивы с заменой
$search = array("#USER_NAME#", "#PHONE_NUMBER#", "#CLIENT_MAIL#");
$replace   = array($first_name, $phone_number, $client_mail);
$email_message = str_replace($search, $replace, $html);    
READ ALSO
Вызов функции JavaScript для значения поля /p html

Вызов функции JavaScript для значения поля /p html

Добрый деньПодскажите, пожалуйста, есть надпись на html:

228
Высота адресной строки браузера

Высота адресной строки браузера

Можно ли каким-нибудь способом узнать высоту адресной строки браузера на телефоне (jquery)?

337
Как запретить изменять размер ячеек CKEditor

Как запретить изменять размер ячеек CKEditor

Во время пользования CKEditor обнаружил что размер ячейки таблицы изменяется в зависимости от количества содержимогоКак это исправить? https://jsfiddle

335