0

3つのステップがあるフォームがあります。SESSIONSを使用して、ステップごとに値を保持します。同じフォームを別のタブで開いて最初の手順を完了すると、これにより、他のフォームのセッション値がすぐに置き換えられます。

では、特定のフォームに添付されたフィールド値を使用してセッションを作成するにはどうすればよいですか?セッションの競合を回避する必要があります。

4

2 に答える 2

0

フォームが実際に異なる場合は、多次元配列に配置します。

$_SESSION['register']['field1']=$_POST['field1'];

$_SESSION['contact']['field1']=$_POST['field1'];

同じフォームで新しいタブの場合は、値が以前に設定されているかどうかを確認して無視するか、フォームの送信が進行中であることを示すフラグを設定するか、古いセッション値を完全に削除して、新しいタブの新しいフォームには値が付加されていません。

于 2013-01-20T23:25:34.660 に答える
0

この関数を使用して、フォーム入力を処理します。

function Hold_Form_Input($formname)
    {
    $FormPost = array();
        foreach ($_POST as $key => $entry)
            {
                $FormPost[$key]= $entry;
            }
     $_SESSION[$formname]= $FormPost;           
    }

そして、非表示の入力でフォーム名を渡します。

于 2013-01-20T23:31:42.327 に答える