0

我有一个接受 2 个参数的函数($group,$array)

$group = 输入属性的“名称” $array = 复选框值的数组

function checkboxes($group, $array) {
    $string = NULL;
    $group = (string)$group."[]";
    foreach($array as $key => $value) {
        $string .= "<br /><input type='checkbox' id=".$value." name='".$group."'        value='".$value."' /><label for=".$value.">$value</label>";
    }
    return $string;
}

我要做的是将其转换为正确的 HTML,以便我可以处理脚本中的值。

这是输入:

checkboxes("class", array("Warrior","Mage","Priest","Rogue"));


$boxes = $_POST['class'];
for ($i=0; $i<count($boxes); $i++) {
    echo $boxes[$i];
}

输出:“R”(当同时检查多个时)

任何帮助都会很棒,如果我忘记了什么,对不起。

这是作业,所以请不要给我违反 stackoverflow 条款/我的学校荣誉代码的答案!

4

2 回答 2

1

试试这个。它似乎打印了所有选中的框。

<?php
function checkboxes($group, $array) {
    $string = NULL;
    $group = (string)$group."[]";
    foreach($array as $key => $value) {
        $string .= "<br /><input type='checkbox' id=".$value." name='".$group."'        value='".$value."' /><label for=".$value.">$value</label>";
    }
    return $string;
}

if( isset( $_POST[ 'class' ] ) ) {
    $boxes = $_POST['class'];
    for ($i=0; $i<count($boxes); $i++) {
        echo $boxes[$i] . '<br />';
    }

}
?>
<form action="t23.php" method="POST">
    <?php
    echo checkboxes("class", array("Warrior","Mage","Priest","Rogue"));
    ?>
    <input type="submit"  name="btnOutput" value="submit"/>
</form>
于 2012-10-01T06:21:57.487 回答
0

我不知道您的安排在您的页面中如何,但是:

<?php
    if(isset($_POST) && !empty($_POST['class'])){
        echo 'SELECTED: <br /><br />';
        $boxes = $_POST['class'];
        for ($i=0; $i<count($boxes); $i++) {
            echo $boxes[$i].'<br />';
        }

    }

    function checkboxes($group, $array) {
        $string = NULL;
        $group = (string)$group."[]";
        foreach($array as $key => $value) {
            $string .= "<br /><input type='checkbox' id=".$value." name='".$group."'        value='".$value."' /><label for=".$value.">$value</label>";
        }
        return $string;
    }
    echo '<form method="post">';
    $boxes = checkboxes("class", array("Warrior","Mage","Priest","Rogue"));
    echo $boxes;
    echo '<input type="submit">';
?>
于 2012-10-01T06:28:54.403 回答