2014-11-25 5 views
-1

Я пытаюсь использовать эту почтовую программу и перенаправить ее на страницу успеха/неудачи в зависимости от полей, которые вводит пользователь. Он работает и отправляет почту, а также перенаправляет страницу успеха, когда все поля введены, но когда ничего не вводится, она просто переходит на пустую страницу, но все равно отправляет почту?Mailer не работает правильно

Как я могу сделать эту работу по-своему? В идеале я бы хотел, чтобы он просто направлялся на одну страницу и показывал сообщение об успехе или ошибке на странице, но я не знаю, как это сделать.

Мой код для моей почтовой программы ниже:

<?php 
$name = $_POST['name']; 
$company = $_POST['company']; 
$email = $_POST['email']; 
$phone = $_POST['phone']; 
$website = $_POST['website']; 
$features = $_POST['features']; 
$budget = $_POST['budget']; 
$timeline = $_POST['timeline']; 
$content = $_POST['content']; 
$additional = $_POST['additional']; 

$to = "[email protected]"; 
$subject = "Project Req: $company"; 
$body = "Name: $name \n\n Company Name: $company \n\n Email: $email \n\n Phone Number: $phone \n\n Website: $website \n\n Features: $features \n\n Budget: $budget \n\n Timeline: $timeline \n\n Content: $content \n\n Additional Info: $additional"; 
$from = $email; 

if(!empty($_POST['name']) || !empty($_POST['email']) || !empty($_POST['phone']) || !empty($_POST['features']) || !empty($_POST['budget']) || !empty($_POST['timeline']) || !empty($_POST['content'])){ 

if (mail($to, $subject, $body, $headers)) { 
    header("Location: success.php"); 
} else { 
    header("Location: error.php");} 
} 
?> 
+0

Вы выполняете этот скрипт на веб-сайте или на своем локальном хосте? – Jordy

ответ

0

Вы дон; 'т, кажется, есть $ установить заголовки. Это может быть проблемой, установите его так, что он посылает его с $ заголовкам

0

В вашем if заявлении, где вы убедитесь, что вы получили все через POST, вы должны использовать «и» компаратор &&, а не «или» компаратор ||. В вашем случае условие будет истинным, если только одна из переменных POST не пуста - разве это не то, что вы хотите?

Вы должны также проверить содержимое переменных POSTдо, присвоив их значение вашим переменным вверху. Вы могли бы сделать что-то вроде предложенного Тибберсом.

+0

Спасибо, что это сработало. –