邮件程序不会正常工作
问题描述:
我正在尝试使用此邮件程序,并根据用户输入的字段将其重定向到成功/失败页面。它可以工作并发送邮件,并且在输入所有字段时也会重定向到成功页面,但是当没有输入任何内容时,它只会进入空白页面,但仍会发送邮件?邮件程序不会正常工作
我该如何按预期做这项工作?理想情况下,我希望它只是指向相同的页面,并在页面中显示成功或错误消息,但我不知道如何去做。
我为我的邮件代码如下:
<?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");}
}
?>
答
你不要;“T似乎有$头设置。这可能是问题,设置它,使之与$头将其发送
答
在你if
声明,你检查,你可以通过POST
接受一切,你应该使用“和”比较&&
,而不是“或”比较器||
。在你的情况下,如果只有一个POST
变量不为空,条件将为真 - 除非这是你想要的?
您还应该检查POST
变量的内容,然后将它们的值赋给顶部的变量。你可以做一些像Tibbers建议的事情。
+0
谢谢你队友这工作。 – 2014-11-25 12:46:26
您是在网站上还是在本地主机上执行此脚本? – Jordy 2014-11-25 12:34:01