空表格字段返回预防

时间:2013-12-04 20:41:53

标签: php

排序PHP新手。

好的。我在两种形式上为各种产品制作了一大堆字段。表格有效。脚本是用PHP编写的,表单是HTML。填写完成后发送电子邮件。

然而,它发送所有字段,即使是空白的字段,因此订购数量的数字列是从上到下的零,一,二,三,等等。本身并不是真正的错误,而是阅读的人它现在必须跋涉并查找数量的说法,五到十个不同的项目,并忽略旁边有零的产品。

相信我,目前的回报甚至不如我下面的回报那么容易阅读,但相当混乱,你可能很容易错过产品请求,特别是如果忙着许多订单进来。

我没有对它进行编程以返回任何空白字段的零,但我甚至不希望它返回根本没有订购的产品的名称。我只是希望它只返回填充的字段 - 没有别的,但我不知道如何。

  

CURRENT OUTPUT

Product #1   1
Product #2   0
Product #3   3
Product #4   0
Product #5   0
Product #6   0
Product #7   0
Product #8   0
Product #9   0
Product #10  1
Product #11  0 
Product #12  0
Product #13  2
Product #14  0
Product #15  0
Product #16  0
Product #17  0
Product #18  0
Product #19  0
  

期望的输出

Product #1  1
Product #3  3
Product #10 1
Product #13 2

1 个答案:

答案 0 :(得分:1)

我猜你的电子邮件是通过循环遍历$_POST数组来构建的。所以这样的事情应该会有所帮助:

foreach($_POST AS $key => $val) {
    if(empty($val)) {
        unset($_POST[$key]);
    }
}

现在,当您构建电子邮件时,零值POST变量甚至不存在。

更新现在,我seen your full code(显然是写入文件,而不是直接发送电子邮件),您需要更改此行(13):

while (list ($key, $val) = each ($query_vars)) {

然后在它之后添加一个简单的检查,最后得到:

while (list ($key, $val) = each ($query_vars)) {
    if(empty($val)) continue; // If we have an empty value, ignore and move on

试一试。