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];
}