2015-12-31 2 views
0

HTML код:Любая идея, почему моя почта не работает?

<form method="post" action="form.php"> 
    <div class="col-sm-6 form-group"> 
    <input class="form-control" id="name" name="name" type="text" placeholder="Name"> 
    </div> 
    <div class="col-sm-6 form-group"> 
    <input class="form-control" id="email" name="email" type="email" placeholder="Email"> 
    </div> 
    <div class="col-xs-12"> 
    <textarea class="form-control" id="message" name="message" type="message" rows="5" placeholder="Message"></textarea> 
    </div> 
    <button type="button" id="submit">Submit</button> 
    <?php echo $result; ?> 
</form> 

PHP код:

<?php 

if (isset($_POST["submit"])) { 
    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $message = $_POST['message']; 
    $from = 'Demo Form'; 
    $to = '[email protected]'; 

    $body = "From: $name\n E-Mail: $email\n Message:\n $message"; 

    if (!$_POST['name']) { 
     $errName = 'Please enter your name'; 
    } 

    if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { 
     $errEmail = 'Please enter a valid email address'; 
    } 

    if (!$_POST['message']) { 
     $errMessage = 'Please enter your message'; 
    } 

    if (!$errName && !$errEmail && !$errMessage) { 
     if (mail ($to, $subject, $body, $from)) { 
      $result='<div class="alert alert-success">Thank You</div>'; 
     } else { 
      $result='<div class="alert alert-danger">Please try again later</div>'; 
     } 
    } 
} 
?> 

Так что это код, и я не знаю, почему я до сих пор не получают почту, когда форма была отправлена. Я пробовал все, что знаю, но все равно. Более того, я использую веб-хостинг, который поддерживает отправку писем и PHP и многое другое. И это все еще не работает.

+0

есть ошибка? –

+0

Нет ... @GoudaElalfy – PNinja

+0

дать вам это сообщение «Повторите попытку позже»? –

ответ

0

Существует несколько логических и синтаксических проблем.

  1. Перед тем, как назначить его какой-либо переменной, вам необходимо проверить $ _POST.
  2. Вы используете $ subject, но у вас нет значения в этой переменной.
  3. Вы смешиваете значение заголовка в тело письма

Я попытался исправить проблемы, попробуйте это.

<?php 

if (isset($_POST["submit"])) { 

    if (!$_POST['name']) { 
     $errName = 'Please enter your name'; 
    } 

    if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { 
     $errEmail = 'Please enter a valid email address'; 
    } 

    if (!$_POST['message']) { 
     $errMessage = 'Please enter your message'; 
    } 

    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $message = $_POST['message']; 
    $from = 'Demo Form'; 
    $to = '[email protected]'; 
    $body = $message; 
    $subject="Demo message"; 
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
$headers .= 'From: Birthday Reminder <[email protected]>' . "\r\n".'X-Mailer: PHP/' . phpversion(); 


    if (!$errName && !$errEmail && !$errMessage) { 
     if (mail ($to, $subject, $body, $headers)) { 
      $result='<div class="alert alert-success">Thank You</div>'; 
     } else { 
      $result='<div class="alert alert-danger">Please try again later</div>'; 
     } 
    } 
} 

?> 

Для получения более подробной информации о см этом http://php.net/manual/en/function.mail.php

+0

[Вы пропустили это ...] (http://stackoverflow.com/questions/34548769/any-idea-why-my-mail-function-doesnt-work#comment56840375_34548769). –

+0

Что мне делать, а не if (isset ($ _ POST ["submit"]))? @ Fred-II- – PNinja

Смежные вопросы