使用循环查看POST变量

时间:2015-10-07 16:50:18

标签: php

我试图制作一个POST方法,它将从表中接收一个值(动态生成)。该值将等于公司名称,隐藏字段将等于公司名称+" id"附加到它。

这是我的代码:

if(isset($_POST))
{
    foreach ( $users as $balance_user ) {
        if(isset($_POST[$balance_user]))
        {
            //update user meta with new balance
            $newBalance = $_POST[$balance_user];
            $postedID = $_POST[$balance_user.'id'];
            update_user_meta($postedID, 'balance', $newBalance);
        }
    }
}

我一直收到错误 isset中的非法偏移类型或空。我不能以这种方式传递变量吗?例如,如果一家公司被称为Acme,并且特别命名的输入中有一个值,我想在POST方法中循环遍历所有公司,如果循环的那部分等于传入变量的公司,那么应该做点什么。

1 个答案:

答案 0 :(得分:0)

添加这三行以查看数据,正如其他人所指出的那样,显然你假设某些值在$ balance_user中,但不存在,或者是不同的。

echo '<pre>:';
var_dump($balance_user);
echo ':</pre>';
if(isset($_POST[$balance_user]))

pre可以更容易地读取调试输出。 ::..:将显示空值。

运行后,您可能会发现$ users中的某个条目为空。

输出顺序将显示空用户值的位置。

然而:

$postedID = $_POST[$balance_user.'id'];

这也可能是错误源,是否有一个post值。比如说,$ balance_user == fred

fredid

如果没有,当然你会立即得到错误。你没有给出错误的行号,所以我不知道它是什么,行号会立即显示。