POST方法,回显多个复选框输出

时间:2018-04-21 08:04:57

标签: php html checkbox echo

首先,我一直在谷歌上搜索,发现我需要在复选框名称中插入数组框。我做到了,但它返回了一个错误。我可以知道我做错了什么以及如何解决它?

这里的代码是我设法只回显1个值,尽管两个复选框都已被选中。 (在添加" []")

之前
<form method="post">
    <div class="form-group">
    <p>If yes, which type of disposable contact lens have you worn before?</p>
    <input type="checkbox" name="disposable_lens"  value="Monthly"/> Monthly<br>
    <input type="checkbox" name="disposable_lens"  value="Daily Disposables"/> Daily Disposables<br>
</div>
</form>

if(empty($_POST["disposable_lens"]))
{
    $error .= '<p><label class="text-danger">Disposable_lens is required</label></p>';
}
else
{
    $disposable_lens = clean_text($_POST["disposable_lens"]);
    echo $disposable_lens."</br>";
}

这是我插入&#34; []&#34;之后的代码。并使用了foreach声明

<div class="form-group">
    <p>If yes, which type of disposable contact lens have you worn before?</p>
    <input type="checkbox" name="disposable_lens[]"  value="Monthly"/> Monthly<br>
    <input type="checkbox" name="disposable_lens[]"  value="Daily Disposables"/> Daily Disposables<br>
</div>

    if(empty($_POST["disposable_lens"]))
{
    $error .= '<p><label class="text-danger">Disposable_lens is required</label></p>';
}
else
{
    foreach($_POST['disposable_lens'] as $disposable_lens){
        echo $disposable_lens."</br>";
}

当我转到index.php

时出现此错误
  

解析错误:语法错误,第216行的C:\ xampp \ htdocs \ send_mail \ index.php中的文件意外结束

我在第216行检查,没有任何单词,只有一个〜(红色),我无法删除它。这是我拍摄的图片截图。

2 个答案:

答案 0 :(得分:1)

正如我在评论中所说,你在else语句的代码末尾缺少一个}。另外,当你从html转换到php时,我看不到你在哪里设置你的php标签。这就是您的代码的外观:

<div class="form-group">
    <p>If yes, which type of disposable contact lens have you worn before?</p>
    <input type="checkbox" name="disposable_lens[]"  value="Monthly"/> Monthly<br>
    <input type="checkbox" name="disposable_lens[]"  value="Daily Disposables"/> Daily Disposables<br>
</div>

<?php

    if(empty($_POST["disposable_lens"])){

    $error .= '<p><label class="text-danger">Disposable_lens is required</label></p>';

    }else{

      foreach($_POST['disposable_lens'] as $disposable_lens){

        echo $disposable_lens."</br>";

      }

    }

?>

答案 1 :(得分:0)

您忘记了}后的foreach

更改:

 if(empty($_POST["disposable_lens"]))
{
    $error .= '<p><label class="text-danger">Disposable_lens is required</label></p>';
}
else
{
    foreach($_POST['disposable_lens'] as $disposable_lens){
        echo $disposable_lens."</br>";
}

致:

    if(empty($_POST["disposable_lens"]))
{
    $error .= '<p><label class="text-danger">Disposable_lens is required</label></p>';
}
else
{
    foreach($_POST['disposable_lens'] as $disposable_lens){
        echo $disposable_lens."</br>";
    }
}