如何使用PHP发布与复选框数组相关的输入文本?
我有一周中几天的复选框,如下所示:如何使用PHP发布与复选框数组相关的输入文本?,php,arrays,forms,input,checkbox,Php,Arrays,Forms,Input,Checkbox,我有一周中几天的复选框,如下所示: <input type="checkbox" name="day[]" id="monday" value="Monday"> <label for="monday">Monday</label> <input name="day-detail[]" type="text" /> <input type="checkbox" name="day[]" id="tuesday" value="Tuesday
<input type="checkbox" name="day[]" id="monday" value="Monday">
<label for="monday">Monday</label>
<input name="day-detail[]" type="text" />
<input type="checkbox" name="day[]" id="tuesday" value="Tuesday">
<label for="tuesday">Tuesday</label>
<input name="day-detail[]" type="text" />
星期一
星期二
等等
请注意,每天都有相关的输入文本
我想知道,如果选中复选框,我是否可以打印输入文本字段。我需要使用其他许多复选框多次执行此操作,因此我尝试使用以下功能:
<?php
function checkboxes($checkbox_field, $default = '') {
if(isset($_POST[$checkbox_field]) and !empty($_POST[$checkbox_field])) {
$post_field = $_POST[$checkbox_field];
if (is_array($post_field)) {
if(!empty($_POST[$checkbox_field.'-detail'])) {
return join(', ', $post_field.': '.$_POST[$checkbox_field.'-detail']);
echo $_POST[$checkbox_field.'-detail'];
}
else {
return join(', ', $post_field);
echo $_POST[$checkbox_field.'-detail'];
}
}
} else {
return $default;
}
}
echo "The weekly sales are: ".checkboxes('day');
?>
这就是我想要打印的内容:
星期一:文本输入值
,星期二:文本输入值
“
复选框打印正常,但文本输入不正常
有什么不对劲吗
提前谢谢。我想你需要的是使用字段索引。假设选择了星期二。然后
$\u POST[“day”][1]
为你提供TRUE
(复选框),而$\u POST[“day detail”][1]
为你提供相应的文本(即,1被用作两个字段的索引)
实际上,索引实际上是
for
循环中的一个变量,就像我想象你在所有复选框上循环一样。因此,我发布的PHP结构即使与字段的索引一起也无法工作?我将尝试for
与count
for循环?谢谢!老实说,我不理解你发布的代码完全…看起来你让它变得比需要的更复杂。不过,再看一眼,有一件事你肯定做错了(在两个地方),那就是你在做一个返回,然后是一个回音…回音永远不会被调用。