在php中显示多个复选框
问题描述:
现在,我想要做的是检查任何两个或三个复选框,并在重定向到multichk.php页面后,应显示复选框。在php中显示多个复选框
<?php
?>
<html>
<form method="post" name="Myf" action="multichk.php">
C <input type="checkbox" name="check_b[]" value="C" ><br>
C++ <input type="checkbox" name="check_b[]" value="C++" ><br>
Java <input type="checkbox" name="check_b[]" value="Java" ><br>
<input type="submit" name="submit" value="Submit">
</form>
</html>
这两个是单独的文件。
<?php
?>
<html>
<body>
<form>
<?php
if(isset($_POST['submit']))
{
if(isset($_POST['check_b']))
{
foreach($_POST['check_b'] as $ch)
{
?>
C <input type="checkbox" name="check_b[]" value="C" <?php if($ch=="C"){ echo "checked=\"checked\" "; } ?> ><br>
C++ <input type="checkbox" name="check_b[]" value="C++" <?php if($ch=="C++"){ echo "checked=\"checked\" "; } ?> ><br>
Java <input type="checkbox" name="check_b[]" value="Java" <?php if($ch=="Java"){ echo "checked=\"checked\" "; } ?> ><br>
<?php
}
}
}
?>
</form>
</body>
</html>
答
,如果你是使用HTML表单标签一样,如果我们选中一个以上的复选框,然后我们点击然后提交自动重定向到表单操作文件的第一个文件。
并在您的第二个文件中使用窗体标签无操作部分。
答
改变第二个文件的代码下面一个
<html>
<body>
<form>
<?php
$checked = array();
if(isset($_POST['submit']))
{
if(isset($_POST['check_b']))
{
foreach($_POST['check_b'] as $ch)
{
$checked[] = $ch;
}
}
}
?>
C <input type="checkbox" name="check_b[]" value="C" <?php if(in_array("C", $checked)){ echo "checked=\"checked\" "; } ?> ><br>
C++ <input type="checkbox" name="check_b[]" value="C++" <?php if(in_array("C++", $checked)){ echo "checked=\"checked\" "; } ?> ><br>
Java <input type="checkbox" name="check_b[]" value="Java" <?php if(in_array("Java", $checked)){ echo "checked=\"checked\" "; } ?> ><br>
</form>
</body>
</html>
只是一个建议,如果你看到的代码,你可能会发现他们没有必要使用两个单独的文件可言,您可以发送表单动作相同文件:)