目前我正在制作一个非强制性的字段集的在线查询表。PHP:不要通过电子邮件发送表单字段
如果非强制性表单字段没有填写出来,我想使它不会在处理过的电子邮件中出现。
例如;如果有人没有输入他们的电话号码,则“电话:$ atelephone”组件不会通过。
if ($atelephone != '') {
echo "Telephone: ".$atelephone;
}
我的数字代码应该有类似上面放它,虽然我努力点连接起来。任何帮助将不胜感激。 (我希望这是有道理的)。
<?php
// Base form items
$asender = $HTTP_POST_VARS['name'] ." <". $HTTP_POST_VARS['email'] .">";
$asubject = "Email Enquiry: ".$HTTP_POST_VARS['subject'];
$arecipient = "[email protected]";
/*******************************************************/
// Mail form variables //
$aname = $HTTP_POST_VARS['name'];
$aemail = $HTTP_POST_VARS['email'];
$atelephone = $HTTP_POST_VARS['telephone'];
$asuburb = $HTTP_POST_VARS['suburb'];
$aenquiry = $HTTP_POST_VARS['enquiry'];
mail("$arecipient","$asubject",
"
===========================================
Please note: this is an email
generated from the Website.
===========================================
Name: $aname
Email: $aemail
Telephone: $atelephone
Suburb: $asuburb
Message:
$aenquiry
================================ ","FROM:$asender");
header('Location: /thank-you.php');
?>
我同意我认为@mazzzzzz解决方案是非常整洁。非常感谢您的解决方案。不幸的是,我想我将不得不生成单独的表单域。 – Brandrally
@Brandrally - 您可能想检查的一件事是代码中的安全性。将原始'post'数据发送到任何地方而不先过滤它通常是一个坏主意。要过滤的是一个全新的问题。 – Ben
非常好的一点 – Ben