我有一个像这样的代码abc.php 我想创建一个复选框数组,但如果我尝试访问名称或ID,它似乎无法工作。有没有其他方法可以做到这一点?
<html>
<body>
<form method="post">
<?php
echo ""."<input type='checkbox' name='check[]' id='check[]' />"
$c=0;
if(isset($_POST['check[$c]'])){
echo "checked";
}
?>
</form>
</body>
</html>
答案 0 :(得分:0)
您使用单引号$_POST['check[$c]']
,它不会被$c
的值替换。更不用说多维数组不能以这种方式工作。
检查$ _POST变量是否将其视为数组:
$checked = $_POST['check'];
// $checked[0] - first element
// $checked[1] - second etc
答案 1 :(得分:0)
使用此作为基本代码,您也可以从html中拆分php代码。 foreach更好,因为现在您可以快速轻松地了解用户实际提交的值。
<?php
if(isset($_POST['submit'])){
if(isset($_POST['check']) && is_array($_POST['check'])){
foreach($_POST['check'] as $key => $value){
echo "$key => $value<br>"; # wrap this around single quotes ', see the difference.
}
}
}
?>
<html>
<body>
<form method="post">
<input type='checkbox' name='check[]' value="a">a</input>
<input type='checkbox' name='check[]' value="b">b</input>
<input type='checkbox' name='check[]' value="c">c</input>
<input type='checkbox' name='check[]' value="d">d</input>
<input type='submit' name='submit' id='submit' />
</form>
</body>
</html>
答案 2 :(得分:0)
无需使用arra,只需使用if(isset($_POST['check']))
之类的变量即可。如果要显示复选框的值,请使用$_POST['check'][0]
。
<form method="post">
<?php
echo ""."<input type='checkbox' name='check[]' id='check[]' value='test' />";
echo "<input type='submit' />";
if(isset($_POST['check'])){
echo "checked";
}
?>
</form>