Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP发布与复选框数组相关的输入文本?_Php_Arrays_Forms_Input_Checkbox - Fatal编程技术网

如何使用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循环?谢谢!老实说,我不理解你发布的代码完全…看起来你让它变得比需要的更复杂。不过,再看一眼,有一件事你肯定做错了(在两个地方),那就是你在做一个返回,然后是一个回音…回音永远不会被调用。