2016-06-17 2 views
0

У меня возникли проблемы с отправкой простого электронного письма с этим. Он работает на MAMP. Однако он продолжает отображать неопределенную переменную, но она все еще может отправлять.PHP Mail работает в MAMP, но не на сайте (Centos6)

<?php 
    if (isset($_POST["submit"])) { 
     $email = $_POST['email']; 
     $from = '[email protected]'; 
     $to = '[email protected]'; 
     $subject = 'New Message'; 
     $body = "New Email: $email"; 


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

     if (!$errEmail) { 
      if (mail ($to, $subject, $body, $from)) { 
       $result='<div class="alert alert-success">Thank You</div>'; 
      } else { 
       $result='<div class="alert alert-danger">Sorry there was an error sending your email. Please try again later</div>'; 
      } 
     } 
    } 
?> 

электронной почты посылает, когда я на MAMP с помощью PHP 5.6.10, но мой хозяин использует PHP 5.3.3. Является ли проблема неправильной с версией php или что-то не так с кодом?

Вот как выглядит форма html, у нее есть только одно поле и кнопка отправки. Я использую bootstrap3 для создания форм :)

<form class="form" role="form" method="post" action="index.php"> 
    <div class="form-group"> 
     <label for="email" class="control-label"></label> 
     <div> 
      <input type="email" class="form-control" id="email" name="email" placeholder="[email protected]" value=""> 
      <?php echo "<p class='text-danger'>$errEmail</p>";?> 
     </div> 
    </div> 
     <div class="form-group"> 
     <div class="text-center"> 
      <input id="submit" name="submit" type="submit" value="Submit" class="btn btn-primary"> 
     </div> 
    </div> 
    <div class="form-group"> 
     <div class="col-sm-10 col-sm-offset-1"> 
      <?php echo $result; ?> 
     </div> 
    </div> 
</form> 

Спасибо! :)

+0

, какие переменный не определен? – MuthaFury

+0

$ errEmail и $ result – fupuchu

ответ

0

Попробуйте

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

    if ($errEmail == "") { 
     if (mail ($to, $subject, $body, $from)) { 
      $result='<div class="alert alert-success">Thank You</div>'; 
     } else { 
      $result='<div class="alert alert-danger">Sorry there was an error sending your email. Please try again later</div>'; 
     } 
    } 
    else { 
     $errEmail = 'Something wrong!'; 
    } 
} 
+0

Неопределенные переменные все еще отображаются и не отправляют сообщение с сообщением об успешном завершении. Может быть, это версия php? – fupuchu

+0

Должно быть, есть что-то неправильное сообщение, если оно $ errEmail пусто – MuthaFury

+0

* как это решить эту проблему? Дамп кода не является хорошим ответом. –

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