@Worddoc
Frontend explorer

Почему моя php форма не отправляет данные на почту?

Здравствуйте. Слабо зная php, взялся на создание формы на нем. Проблема в том, что скрипт не работает, хотя вроде как все логично. Почему ничего не отсылается? Помогите разобраться!

<form method="POST" id="form" action='main.php' name="form">
      <div class="input-1">
        <label for="">Имя:</label>
        <input type="text" placeholder="Иван" autofocus="autofocus" required="required" name="name" id="name">
      </div>
      <div class="input-1">
        <label for="">Отчество:</label>
        <input type="text" placeholder="Иванович" required="required" name="secondName" id="secondName">
      </div>
      <div class="email">
        <label for="email">Email:</label>
      </div>
      <input type="email" placeholder="example@mail.ru" required="required" name="email" id="email">
      <div class="message">
        <label for="area">Сообщение:</label>
      </div>
      <textarea cols="30" rows="10" placeholder="Введите сообщение..." required="required" name="message" id="message"></textarea>
      <div class="sbm">
        <input type="submit" name="submit" value="Отправить">
      </div>
    </form>


<?php
	$toWho = "worddoc96hiphop@gmail.com";
	$name = !empty($_POST['name'])?$_POST['name']:'';
	$second = !empty($_POST['second'])?$_POST['second']:'';
	$email = !empty($_POST['email'])?$_POST['email']:'';
	$message = !empty($_POST['message'])?$_POST['message']:'';
	$mess = "Имя: " . $name . " \nОтчество: " . $second . " \nEmail: " . $email . " \nСообщение: " . $message;
	if(mail($toWho, "Новое письмо", $mess)) {
	echo 'Success';
	} else echo 'DAMN';
	?>
  • Вопрос задан
  • 241 просмотр
Пригласить эксперта
Ответы на вопрос 1
hector2009
@hector2009
Frontend Developer
Попробуй:

Вместо:
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['second'])) {$second = $_POST['second'];}
if (isset($_POST['email'])) {$email = $_POST['email'];}
if (isset($_POST['message'])) {$message = $_POST['message'];}

Поставь это:
$name = !empty($_POST['name'])?$_POST['name']:'';
$second = !empty($_POST['second'])?$_POST['second']:'';
$email = !empty($_POST['email'])?$_POST['email']:'';
$message = !empty($_POST['message'])?$_POST['message']:'';

====

Вместо:
$mes = "Имя: $name \nОтчество: $second \nEmail: $email \nСообщение: $message";

Поставь это:
$mes = "Имя: " . $name . " \nОтчество: " . $second . " \nEmail: " . $email . " \nСообщение: " . $message;
Ответ написан
Ваш ответ на вопрос

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

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