PHP $ _POST值

时间:2011-09-30 10:27:55

标签: php variables post for-loop

我存储$ _POST数据有点问题,想想我可能会让自己感到困惑。

所以我从循环中发布了一些数据,这些数据以id和points的形式发布,但每个数据都有一个数字,所以如果有三个记录被发布,我们就会有

id1,id2,id3 points1,points2,points3

收集。现在我正在使用for循环来遍历数据并将其发布到两个数组中以便使用。问题是当我想存储数据时,我必须使用上面列出的名称之一,即id1或id2。这是我的代码

for($i = 0; i< $_POST['count']; i++){
    //Order input data into an array
    $inputid[$i] = $_POST['id1'];

}

现在$ _POST ['id1']的'id'的数字部分必须与for循环中的$ i相同,所以它会随着循环的增加而增加。

感谢您的帮助,我希望我能正确解释这个问题。

7 个答案:

答案 0 :(得分:2)

为什么不为输入命名:name="id[1]"name="points[1]",这样您就可以使用$_POST['id'][...]$_POST['points'][...]数组?

参考:Variables From External Sources(具体为Example #3)。

答案 1 :(得分:1)

首先,不要在循环或其他任何事情中使用POST变量,除非你先检查它们以确保它们不包含任何令人讨厌的东西。

你可以在循环中尝试这个:

$idnumber = "id" . $i;
$inputid[$i] = $_POST[$idnumber];

答案 2 :(得分:0)

简单地连接索引中的字符串:

for($i = 0; i< $_POST['count']; i++){
    //Order input data into an array
    $inputid[$i] = $_POST['id' . ($i+1)];
}

答案 3 :(得分:0)

for($i = 0; i< $_POST['count']; i++){
    //Order input data into an array
    $inputid[$i] = $_POST['id'.$i];

}

答案 4 :(得分:0)

如果我没有出错,你希望发布的id与增量var $ i一样尝试这个

for($i = 0; $i< $_POST['count']; $i++){
    $post_id = 'id'.$i;
    $inputid[$i] = $_POST[$post_id];

}

答案 5 :(得分:0)

如果我理解这个问题,已经有一些已知的输入将被发布,所以我不明白为什么你需要一个循环来将它们添加到数组中。为什么不这样做:

$value = array($_POST['id1'], $_POST['id2'], $_POST['id3'], $_POST['points1'], $_POST['points2'], $_POST['points3']);

比这样循环:

for(x=0;x<$value.count;x++){
    $value[x]=$value.$x;
}

那应该有用

答案 6 :(得分:0)

我认为你可以选择这样的东西:

for($i = 0; $i< $_POST['count']; $i++){
//Order input data into an array
$inputid[$i] = $_POST["id$i"];
}

这是你想要的吗?