不是php程序员,只是为我的HTML。我正在使用一个非常大的表单,其中包含许多文本字段,用于订购的商品数量我的意思是数百。如果您填写一个或两个项目(大多数通常是大约五个),表单将返回所有结果,其中选择的是答案,其余的只是空白,但它只会产生巨大的电子邮件结果。是否有代码或脚本或其他内容,以防止发送未填充的字段?它使用PHP脚本通过电子邮件发送。
此致 鲍勃Z。
答案 0 :(得分:1)
在解析$ _POST值(添加到电子邮件消息的位置)之前执行此操作。然后,无论您使用什么方法将POST变量放入电子邮件正文中,无论是foreach,还是print_r或类,都不会存在空白。
$_POST=array_filter($_POST);
它将删除值为== false的所有键,其中包括空。但请注意,0 ==也是假,所以如果你想保留它们,你需要改为
function myFilter($var){
return ($var !== NULL && $var !== FALSE && $var !== '');
}
$_POST=array_filter($_POST, "myFilter");
答案 1 :(得分:0)
我猜表单正在使用METHOD="POST"
将信息传输到处理脚本。你想要的是找到所有表格字段在一起的地方。如果字段值为空,则必须在此处添加检查。
可能是这样的:
// init email
$email = '';
// process fields
foreach ($_POST as $fieldName => $fieldValue)
{
if ($value != '')
{
$email .= $fieldName . ': ' . $fieldValue . PHP_EOL;
}
}
// send email
...
如果您发布处理格式的PHP代码并发送电子邮件,那么告诉您修复问题的确切代码会更容易。
问候, 理查德