Php 从带“的窗体中检索多个复选框”;foreach“;

Php 从带“的窗体中检索多个复选框”;foreach“;,php,html,forms,checkbox,foreach,Php,Html,Forms,Checkbox,Foreach,这是带有复选框的表格。我需要打印文本,但不需要打印复选框的值 <p>Select the cinema where you saw the film<br /> Richmond <input type="checkbox" name="cinema" value="Wimbledon" /><br /> Kingston <input type="checkbox" name="cinema" value="Sutton

这是带有复选框的表格。我需要打印文本,但不需要打印复选框的值

  <p>Select the cinema where you saw the film<br />
    Richmond <input type="checkbox" name="cinema" value="Wimbledon" /><br />
    Kingston <input type="checkbox" name="cinema" value="Sutton" /><br />
    Feltham <input type="checkbox" name="cinema" value="Kingston" /><br />
    </p>
选择您观看电影的电影院
里士满
金斯敦
费尔瑟姆

这是我们老师给出的带有foreach循环的响应页面,它似乎不起作用

>  <?php
>     $cinema =$_POST['cinema'];
>     
>     foreach ( $cinema as $cinemalocation) {
>              print "Cinema Location:".$cinemalocation."<br />";
>            };
>     ?>
>

我也不被允许对表格进行调整,我已经花了几个小时试图找到答案。到目前为止似乎没有任何帮助。

鉴于您无法修改表单,我认为这是不可能的。获取和发布表单只会发送value属性中的内容

如果能够更改表单,则可以在元素上设置ID并使用javascript

此外,考虑到您的输入是自关闭的

<input type="checkbox" name="cinema" value="Wimbledon" />

他们的HTML字段中实际上没有任何内容

更新: 鉴于你提到你的导师想要一个if-elseif解决方案,也许这就是你想要的`

<?php
 $cinema =$_POST['cinema'];

 foreach ( $cinema as $cinemalocation) {
            //  print "Cinema Location:".$cinemalocation."<br />";
    if( $cinemalocation == 'Wimbledon'){
echo "Cinema Location: Richmond <br />";
}
elseif  if( $cinemalocation == 'Sutton'){
    echo "Cinema Location: Kingston <br />";
}

elseif  if( $cinemalocation == 'Kingston'){
    echo "Cinema Location: Feltham  <br />";
}

else{
echo "Cinema Location: Unknown  <br />";
}
       };
?>

假设您可以更改给定的响应页面代码,并且假设这是一个已知所需值的有限场景,您可以执行以下操作:

<?php
    $cinema = $_POST['cinema'];
    foreach ( $cinema as $cinemalocation) {
        if ($cinemalocation == 'Wimbledon') {
            print "Cinema Location: Richmond<br/>";
        } elseif ($cinemalocation == 'Sutton') {
            print "Cinema Location: Kingston<br/>";
        } elseif ($cinemalocation == 'Kingston') {
            print "Cinema Location: Feltham<br/>";
        }
    }
?>


同样,这是基于提供的有限说明和信息。正如其他人所指出的,这不是最佳实践,甚至不是基于真实场景的。html不会在文章中传回,即使传回了,也有更好的方法根据所发布的选择来实现值的输出

除非您有一个数组或db或其他东西来查找从值到文本的关系,否则您需要修改表单以获得文本。我同意。周围的html没有被传递给表单处理程序,因此不可用。但是,如果这是一个学校作业(老师提到过),在这个有限的场景中,您可以构建一个简单的if-else结构来完成作业。