2014-11-25 87 views
-1

我正在尝试使用此邮件程序,并根据用户输入的字段将其重定向到成功/失败页面。它可以工作并发送邮件,并且在输入所有字段时也会重定向到成功页面,但是当没有输入任何内容时,它只会进入空白页面,但仍会发送邮件?邮件程序不会正常工作

我该如何按预期做这项工作?理想情况下,我希望它只是指向相同的页面,并在页面中显示成功或错误消息,但我不知道如何去做。

我为我的邮件代码如下:

<?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 2014-11-25 12:34:01

回答

0

你不要;“T似乎有$头设置。这可能是问题,设置它,使之与$头将其发送

0

在你if声明,你检查,你可以通过POST接受一切,你应该使用“和”比较&&,而不是“或”比较器||。在你的情况下,如果只有一个POST变量不为空,条件将为真 - 除非这是你想要的?

您还应该检查POST变量的内容,然后将它们的值赋给顶部的变量。你可以做一些像Tibbers建议的事情。

+0

谢谢你队友这工作。 – 2014-11-25 12:46:26