-1

我有 3 个表单文件,如 form1.php、form2.php、form3.php 和一个 index.php 文件以及这些 form1、form2、form3 文件中的 output.php 文件我有 3 个表单,其中包含一个值为step的隐藏字段它在我的 index.php 文件中被调用,由下一个按钮调用。我的索引文件包含 <?php

switch ($_POST['step']) {

    case 2:
        require_once 'form2.php';
        break;

    case 3:
        require_once 'form3.php';
        break;

    case 4:
        require_once 'form4.php';
        break;

    case 1:
    default:
        require_once 'form1.php';
}

?>

我想在用户输入数据(随时单击下一步按钮)时将输入字段的所有值存储在多维数组中,以便我可以检索每个值以供将来使用,例如名称字段,它就像一个数组,多少次用户在输入字段中给出他的名字,它将存储在该名称数组中,就像其他人一样

我也试过这个

<?php
 session_start();
 require_once 'form3.php';
foreach ($_SESSION as $key => $value) {
     $_SESSION['POST'][$key][] = $value;
}
print_r($_SESSION); 
?>
4

1 回答 1

0

在这个函数之后:

foreach ($_SESSION as $key => $value) {
$_SESSION['POST'][$key][] = $value;
}

第一次将创建多维子数组 $_SESSION['POST'],下一次将所有子数组 $_SESSION['POST'] 添加到多维子数组 $_SESSION['POST']['POST'] . 您将获得非结构化数组 $_SESSION 以及子数组中的子数组。

我认为您需要更改程序的逻辑,如下所示:对数组 $_POST 进行排序并使用子数组 $_SESSION['POST'] 中的键获取所有值,如果下次在数组 $_POST 中重复键,则添加 1到 $_SESSION['POST'][$key]['count'] 或者,如果要保存输入数据的所有值,请将它们保存在子数组 $_SESSION['POST'][$key][] 中。通过函数 end() 获取最后一个元素。

于 2013-02-04T11:39:48.157 回答