0

在这种情况下我遇到了问题,我搜索了很多,不知道我该怎么处理它......我有 4 个复选框,每个复选框都在执行某个功能。我有这个用于复选框的 html 代码,

    <form action="check.php" method="post">
<table border="1" width="200">
<tr>
<td>
<input type="checkbox" name="first[]" value="option1" />
</td>
<td width="500">
<strong>Option 1</strong>
</td>
</tr>
<tr>
<td>
<input type="checkbox" name="first[]" value="option2" />
</td>
<td width="500">
<strong>Option 2</strong>
</td>
</tr>
<tr>
<td>
<input type="checkbox" name="first[]" value="option3" />
</td>
<td width="500">
<strong>option 3</strong>
</td>
</tr>
</table>
<table border="1" width="200">
<tr>
<td>
<input type="text" name="entered_value"/>
</td>
</tr>
</table>
<table border="1" width="200">
<tr>
<td>
<input type="submit" value="Submit"/>
</td>
</tr>
</table>
</form>

我正在使用此代码访问这些复选框

<?php
if (isset($_POST['submit']))
    {
        if(isset($_POST['first']))
            {
                $get_data_checkboxes = $_POST['first'];
            }   
        else
            {
                $get_data_checkboxes = "";
            }
            print_r($get_data_checkboxes);
            exit();
}
?>

我面临的问题就像我需要在每个勾选的复选框上运行一个函数,例如,如果这个人勾选了选项 1,那么我应该能够运行函数 1,依此类推......

任何帮助将不胜感激 :)

4

2 回答 2

1

如果要选择多个复选框,可以尝试以下操作:

for( $i = 0; $i < count( $_POST['first'] ); $i++ ) {

    if( $_POST['first'][$i] == 'option1' ) {

        echo "function1";

    } else if( $_POST['first'][$i] == 'option2' ) {

        echo "function2";

    } else if( $_POST['first'][$i] == 'option3' ) {

        echo "function3";
    }
}
于 2012-05-14T17:01:54.210 回答
0

你不需要这条线

    if (isset($_POST['submit']))

没有它,您的代码可以正常工作,您可以使用它来调用您的函数,如下所示:

    <?php
    if(isset($_POST['first']))
    {
         $get_data_checkboxes = $_POST['first'];
         foreach($get_data_checkboxes as $value){
             //call functions named option1(), option2(), etc..
             call_user_func($value);
         }
    }   
    else{
        $get_data_checkboxes = "";
    }

?>
于 2012-05-14T17:05:22.823 回答