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

POST method, echo more than 1 checkbox output

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

这是我设法仅回显 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>";
}

这是我插入“[]”并使用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

时出现此错误

Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\send_mail\index.php on line 216

而且我查了216行,没有任何字,只有一个~(红色),我不能删除它。这是我拍的图片截图。

您忘记了 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>";
    }
}

正如我在评论中所说,您在 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>";

      }

    }

?>