我需要使用下面的代码重现:
myformdata[languages1]
myformdata[languages2]
myformdata[languages3]
但是这段代码只会重现myformdata[languages
<?php
$sql=mysql_query("select id_spoken_languages, language, path from spoken_languages");
$i=0;
while($row=mysql_fetch_array($sql)) {
$id=$row['id_spoken_languages'];
$data=$row['language'];
$flag=$row['path'];
echo nl2br ("<input type='checkbox' name='myformdata[languages'.$i++.']' value='$id' class='semLargura'>$data <img style='float:right; margin-top:5px; border:1px solid grey;' src='$flag'></img> \n");
}
?>
我已经尝试删除增量,只能访问$form_data_array["languages"][1]
但在这种情况下我得到:
注意:未初始化的字符串偏移: C:\ Users \ fel \ VertrigoServ \ www \ login \ validation2.php 9
但是如果我使用`$ form_data_array [“languages”] [0],没有显示错误,似乎所有复选框都有 指数0.
解决这个问题的最佳方法是什么?
答案 0 :(得分:1)
<?php
$sql=mysql_query("select id_spoken_languages, language, path from spoken_languages");
$i=0;
while($row=mysql_fetch_array($sql)) {
$id=$row['id_spoken_languages'];
$data=$row['language'];
$flag=$row['path'];
echo nl2br ("<input type='checkbox' name='myformdata[languages".$i++."]' value='$id' class='semLargura'>$data <img style='float:right; margin-top:5px; border:1px solid grey;' src='$flag'></img> \n");
}
?>
试试这个。
答案 1 :(得分:1)
看起来您的输出字符串可能不正确。试试这个:
echo nl2br ("<input type='checkbox' name='myformdata[languages".$i++."]' value='$id' class='semLargura'>$data <img style='float:right; margin-top:5px; border:1px solid grey;' src='$flag'></img> \n");
我用双引号替换了增量输出之前和之后的两个单引号实例。
另请注意,不需要在PHP中增加。您需要添加的是两个空括号[]
,PHP将负责增量本身。因此,如果您想通过$_POST["languages"][1]
访问输入,可以通过生成以下内容来访问:name='languages[]'
。
答案 2 :(得分:0)
看起来报价搞砸了:
echo nl2br ("<input type='checkbox' name='myformdata[languages" . $i++ . "]' value='$id' class='semLargura'>$data <img style='float:right; margin-top:5px; border:1px solid grey;' src='$flag'></img> \n");
答案 3 :(得分:0)
$i++;
echo nl2br ("<input type='checkbox' name='myformdata[languages$i]' value='$id' class='semLargura'>$data <img style='float:right; margin-top:5px; border:1px solid grey;' src='$flag'></img> \n")
答案 4 :(得分:0)
更改此行
echo nl2br ("<input type='checkbox' name='myformdata[languages'.$i++.']' value='$id' class='semLargura'>$data <img style='float:right; margin-top:5px; border:1px solid grey;' src='$flag'></img> \n");
到
echo nl2br ("<input type='checkbox' name='myformdata[languages" .$i++. "]' value='$id' class='semLargura'>$data <img style='float:right; margin-top:5px; border:1px solid grey;' src='$flag'></img> \n");
此外,我不能100%确定是否允许[]
的元素名称。如果不是,您可以考虑将名称更改为
myformdata_1 ect...