Php 多表单提交-数组消失

Php 多表单提交-数组消失,php,html,forms,Php,Html,Forms,我正在尝试通过来自多表单的数据数组运行foreach循环。 我将数据存储在$\u SESSION[]中,但是,当我在提交后到达表单的末尾时,我无法循环它,它只有一个值 HTML PHP-提交后-循环1 if ($_SERVER["REQUEST_METHOD"] == "POST") { // Check if file was uploaded without errors if (isset($_POST['submit'])){ foreach ($_SESSION['comple

我正在尝试通过来自多表单的数据数组运行foreach循环。 我将数据存储在
$\u SESSION[]
中,但是,当我在提交后到达表单的末尾时,我无法循环它,它只有一个值

HTML

PHP-提交后-循环1

if ($_SERVER["REQUEST_METHOD"] == "POST") { 
// Check if file was uploaded without errors 
if (isset($_POST['submit'])){

 foreach ($_SESSION['complete'] as $key => $value) {
           echo $value.'<br>';
        }
}

}
PHP-For循环

$complete = $_SESSION['complete'];

        for($i = 0; $i < count($complete); $i++) {
            if($i == 1) echo $complete[$i];
        }
$complete=$\u会话['complete'];
对于($i=0;$i
每种错误

警告:中为foreach()提供的参数无效

错误

警告:count():参数必须是在中实现可数的数组或对象


我做错了什么,好像数据已经丢失了,如果我在上面的表单工作正常后在页面上做循环,但不是在表单的末尾。

将所有内容放在一个页面中。 在每个输入中,您可以定义输入的方式:

<label for="Institution-form1">Institution</label>
<input type="text" name="Institution[form1]" id="Institution-form1">
机构

请注意,“form1”将是代码中显示的每个会话的唯一ID。

您的作业是向后的:
$\u POST['complete']=$\u session['complete']
应该是
$\u SESSION['complete']=$\u POST['complete']
这里没有存储会话中任何内容的代码。你认为哪一行应该负责做那项工作?正如Barmar所说,您的一些语句可能只是方向错误(因此它们是从会话中读取的,而不是分配给会话)。@ADyson如果其余的值都有效,我有一个会话_start();到底是什么价值观?“完成”是您稍后尝试循环使用的唯一选项。但不管怎样,您的示例中没有在会话中存储任何内容的代码。@ADyson会话中应该存储的代码可能是带有向后赋值的行。
if ($_SERVER["REQUEST_METHOD"] == "POST") { 
// Check if file was uploaded without errors 
if (isset($_POST['submit'])){

 $complete = $_SESSION['complete'];

    foreach ($complete as $key => $value) {
       echo $value;
    }
}

}
$complete = $_SESSION['complete'];

        for($i = 0; $i < count($complete); $i++) {
            if($i == 1) echo $complete[$i];
        }
<label for="Institution-form1">Institution</label>
<input type="text" name="Institution[form1]" id="Institution-form1">