0

私は3つのセクションを持つページに取り組んでいます。最初のセクションでは、入力の 1 つが 2 番目のセクションで必要な数値です。2 番目のセクションでは、入力の 1 つが 3 番目のセクションで必要な数値です。ユーザーが最初のセクションでフォームを送信すると、その番号をセッション変数に保存し、ユーザーが 2 番目のセクションでフォームを送信すると、その番号もセッション変数に保存します。セクションが送信されるたびに、次のセクションとそれに関連付けられたフォームが「表示」されます。

+-----------+
|  My Page  |
+-----------+
| section 1 | -> set section 1 variable needed by section 2 and 3
+-----------+
| section 2 | -> set section 2 variable needed by section 3
+-----------+
| section 3 |
+-----------+

私の質問は、フォーム データをデータベースに保存するときに、セッション変数がまだそこにあることを確認するにはどうすればよいですか? ある人がセクション 1 を送信し、次にセクション 2 を送信し、しばらく離れて戻ってきて、セクション 3 を送信しようとしたとします。または、ユーザーがセクション 1 を送信した後、しばらく離れてから戻ってきて、送信しようとしたとします。セクション 2. データベースの CRUD を試みる前に、セッション データがまだそこにあることを確認するにはどうすればよいですか? 新しいセクションごとにセッション変数を取得し、次のセクション フォームに非表示フィールドとして追加することについて考えましたが、これが良いアイデアかどうかはわかりませんでした。

とにかく、どんな提案でも大歓迎です。

読んでくれてありがとう、そして素晴らしい一日を。:-)

4

2 に答える 2

0

おそらくフラグを使用します(フラグは技術やコマンドではなくアイデアです)

//first part of code:

if (!isset($_SESSION['firstpart']))
{
     $_SESSION['firstpart'] = false;
     $_SESSION['secondpart'] = false;
     $_SESSION['thirdpart'] = false; 
}


//(and then)
if($_SESSION['firstpart'] == false)
{
   validate first part variables
   do someting to read or say give me first part

   if vars is ok
        $_SESSION['firstpart'] = true;
   else
       $_SESSION['firstpart'] = false;
}

 //validting second part
if($_SESSION['secondpart'] == false)
{
    we can validate an do second part

    and set:
    if vars is ok
        $_SESSION['secondpart'] = true;
   else
       $_SESSION['secondpart'] = false;

}

// and repeat for third part

セッション内のすべての vars では、最初にフラグを false に設定してから、ユーザーがどこにいるかを知るために各部分をアクティブにします。

于 2015-01-08T18:54:49.320 に答える