我将一些数据从表单发布到另一个页面。这是一个购物车,提交的表单是根据购物车中的商品数量在页面上生成的。例如,如果只有 1 个项目,那么我们只有字段名称“item_name_1”,它应该存储一个像“Sticker”这样的值和“item_price_1”,它存储该项目的价格。但是,如果某人有 5 个项目,我们将需要“item_name_2”、“item_name_3”等来获取每个项目的值,直到第五个。
遍历这些项目以获取值的最佳方法是什么?
这是我所拥有的,但显然不起作用。
extract($_POST);
$x = 1; // Assuming there's always one item we're on this page, we set the variable to get into the loop
while(${'item_name_' .$x} != '') {
echo ${'item_name' .$x};
$x++;
}
我对这种用法还比较陌生,所以我并不完全了解如何最好地处理它。
谢谢。
最佳答案
首先,请不要使用extract(),这可能是一个安全问题,因为它很容易操纵POST参数
此外,您不必使用变量名称(听起来很奇怪),而是:
foreach($_POST as $key => $value) {
echo "POST parameter '$key' has '$value'";
}
为确保您只有以“item_name”开头的参数,您可以这样检查:
$param_name = 'item_name';
if(substr($key, 0, strlen($param_name)) == $param_name) {
// do something
}
关于php - Foreach 来自表单的 POST 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5479999/