Php 邮递员不能正常工作

Php 邮递员不能正常工作,php,html,email,post,mailer,Php,Html,Email,Post,Mailer,我正在尝试使用此邮件程序,并根据用户输入的字段将其重定向到成功/失败页面。当输入所有字段时,它工作并发送邮件,还重定向到成功页面,但当未输入任何内容时,它只会转到空白页面,但仍然发送邮件 我怎样才能使这项工作如期进行?理想情况下,我希望它直接指向同一个页面,并在页面中显示成功或错误消息,但我不知道如何做到这一点 我的邮件程序代码如下: <?php $name = $_POST['name']; $company = $_POST['company']; $email = $_POST['e

我正在尝试使用此邮件程序,并根据用户输入的字段将其重定向到成功/失败页面。当输入所有字段时,它工作并发送邮件,还重定向到成功页面,但当未输入任何内容时,它只会转到空白页面,但仍然发送邮件

我怎样才能使这项工作如期进行?理想情况下,我希望它直接指向同一个页面,并在页面中显示成功或错误消息,但我不知道如何做到这一点

我的邮件程序代码如下:

<?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 = "hello@phnx-creative.co";
$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");}
}
?>


你不知道;'似乎没有设置$headers。这可能就是问题所在,将其设置为在
语句中使用$headers发送它。如果在
语句中检查通过
POST
收到的所有内容,则应使用“and”比较器
&
,而不是“or”比较器
|
。在您的情况下,如果
POST
变量中只有一个不是空的,则条件将为真-除非这是您想要的


在将变量的值指定给顶部的变量之前,您还应该检查
POST
变量的内容。您可以执行Tibbers建议的操作。

您是在网站上还是在本地主机上执行此脚本?