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>";
}
}
?>
首先,我一直在用谷歌搜索这个,发现我需要在复选框名称中插入数组框。我这样做了,但它返回了一个错误。我可以知道我做错了什么以及如何解决吗?
这是我设法仅回显 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>";
}
}
?>