-1

form1.php、form2.php、form3.php のような 3 つのフォーム ファイルと、これらの form1、form2、form3 ファイルに index.php ファイルと output.php ファイルがあります。ステップの値を持つ非表示フィールドを持つ 3 つのフォームがあります。そして、次のボタンで呼び出されるように私の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 に答える