構築中の複数ページのフォーム サイトがあります。
私は使っている
$_SESSION['X']=$_POST['X']
フォームの変数を、結果が投稿されているページのセッションに保存します。
フィールドにセッション変数が入力されるように、フォームが動的に生成されます。
$X=$_SESSION['X']
と
(value="$X")
このようにして、ユーザーがクリックして戻ると (履歴 -1 ではなく、ページ URL を持つボタン)、ページは以前に入力した値で再形成されます。
私の問題は、これが 1 ページでは問題なく機能する (つまり、1 ページ戻って値を確認できる) ことですが、2 ページではすべての値が空白です。
値が SESSION に格納されると、ブラウザ セッションの間、値は保持されるべきではありませんか? それらは上書きされていません。私はセッションを誤解していますか?どんな助けでも感謝します。
コード例:
ページ1:
session_start();
//populates fields if session value set for this variable
$sv_01=$_SESSION['sv_01'];
<<<EOT
<form action="page 2 URL" method="post">
<label> q1 <input value=$sv_01 title="title" type="text" name="sv_01">
<input type="submit" value="Continue" />
</form>
EOT;
ページ2:
session_start();
//stores POST data from page 1 in the session
$_SESSION['sv_01']=$_POST['sv_01']
//populates fields if session value set for this variable
$sv_02=$_SESSION['sv_02'];
<<<EOT
<form action="page 3 URL" method="post">
<label> q2 <input value=$sv_02 title="title" type="text" name="sv_02">
<input onclick="page 1 URL';" type="button" value="Back" /> <input type="submit" value="Continue" />
</form>
EOT;
ページ 3:
session_start();
//stores POST data from page 2 in the session
$_SESSION['sv_02']=$_POST['sv_02']
//populates fields if session value set for this variable
$sv_03=$_SESSION['sv_03'];
<<<EOT
<form action="page 4 URL" method="post">
<label> q3 <input value=$sv_03 title="title" type="text" name="sv_03">
<input onclick="page 2 URL';" type="button" value="Back" /> <input type="submit" value="Continue" />
</form>
EOT;
3 ページから 2 ページへの移動は問題ありません。また、2 ページから 1 ページへの移動も問題ありませんが、3 ページから 1 ページへの移動では、1 ページが空白になります。
何か案は?とても有難い