Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在for循环中从$\u POST获取数据_Php_Html_Css_Post_Http Post - Fatal编程技术网

Php 在for循环中从$\u POST获取数据

Php 在for循环中从$\u POST获取数据,php,html,css,post,http-post,Php,Html,Css,Post,Http Post,如果我的表单中有一些隐藏的输入: <input type="hidden" name="test" value="somedata"> <input type="hidden" name="entry0" value="moredata"> <input type="hidden" name="entry1" value="moredata"> <input type="hidden" name="entry2" value="moredata">

如果我的表单中有一些隐藏的输入:

<input type="hidden" name="test" value="somedata">
<input type="hidden" name="entry0" value="moredata">
<input type="hidden" name="entry1" value="moredata">
<input type="hidden" name="entry2" value="moredata">
<input type="hidden" name="entry3" value="moredata">
<input type="hidden" name="entry4" value="moredata">
然后,我不会为每个“条目”输入返回“moredata”值。如果我打印出定义为
$x
的字符串,那么我会得到我要查找的字符串,但它似乎不想与
$\u POST
一起这样工作。有人知道我该怎么处理这件事吗


谢谢

这是
$\u POST
而不是
$POST
首先检查:

echo$POST[$x];//这是行不通的

应该是


echo$_POST[$x];//请注意下划线。

在字符串文字中,仅当字符串文字包含在双引号中时,才会插入变量:

for ($i = 0; $i < 5; $i++) {
  $x = "entry{$i}";
  echo $_POST[$x];
}
($i=0;$i<5;$i++)的
{
$x=“条目{$i}”;
echo$_POST[$x];
}

为了安全起见,在订阅
$\u POST
之前,您可能需要检查
array\u key\u是否存在($x,$\u POST)
,否则,如果传递的字段不对应,您将收到
E\u通知级别的错误。

尝试使用数组表示法:

<input type="hidden" name="entry[0]" value="moredata">
<input type="hidden" name="entry[1]" value="moredata">
<input type="hidden" name="entry[2]" value="moredata">
<input type="hidden" name="entry[3]" value="moredata">
<input type="hidden" name="entry[4]" value="moredata">

<?php
echo implode($_POST['entry']);

for ($i = 0; $i < 5; $i++) {
    echo $_POST['entry'][$i];
}


这是一个打字错误吗
$POST
而不是
$\u POST
@ing0,看看garvey提出的解决方案,这可能是一种更好的方法。我尝试了这种方法,但没有成功!虽然答案有效!!!谢谢我不知道双引号+1这是一个更好的解决方案!我赞成。
<input type="hidden" name="entry[0]" value="moredata">
<input type="hidden" name="entry[1]" value="moredata">
<input type="hidden" name="entry[2]" value="moredata">
<input type="hidden" name="entry[3]" value="moredata">
<input type="hidden" name="entry[4]" value="moredata">

<?php
echo implode($_POST['entry']);

for ($i = 0; $i < 5; $i++) {
    echo $_POST['entry'][$i];
}