4

ユーザーが郵便番号値のリストから郵便番号を選択する必要がある PHP フォームを作成しました。

ユーザーは [送信] を 2 回押します。

フォームが送信されたときのために、選択した郵便番号の値を保持する必要があります。SESSION で選択した郵便番号のドロップダウン値を設定しようとしましたが、ユーザーがフォーム送信を押すと多くの値が取得されます。

ユーザーが送信のいずれかを押したときにページを更新した後でも、すべてのフォーム値を保持するにはどうすればよいですか?

4

2 に答える 2

2

「ユーザーが送信の1つを押したときにページを更新した後でも、すべてのフォーム値を保持するにはどうすればよいですか?」

あなたの質問を読んで、送信された各フォームが実際にサーバーに送信されるかどうかはわかりませんでしたが、そうなると思います。また、これを実現するためにPHPセッションを使用しようとしていることも前提としています。

ユーザーがフォームを送信したら、サーバー側の値をPHPセッションに保存します

//Start the session
session_start();
//Save the values
$_SESSION["foo"] = $_POST["bar"];
...

アドレスを選択した後、ユーザーが最初のフォームにリダイレクトされ、それを入力したい場合:

//Start the session
<?php
   session_start();
?>
<!-- Populate HTML form based on previously submitted values -->
<input type="text" name="foo" value="<?php echo $_SESSION["foo"] ?>" />
...

$_SESSION最終送信後、送信されたすべての値が配列に保存されているはずです。session_start()セッションに関連するものを処理する前に、必ず忘れないでください。

于 2012-04-08T13:22:27.553 に答える
0

簡単に言えば、複数のフォームにわたってフォームデータを追跡できるとは思わないということです。

私はあなたのプロジェクトを見たことがないので、要件を完全に理解していないかもしれませんが、AJAXの使用を検討することをお勧めします。jQuery post()のマニュアルを確認してください。実際には非常に簡単です。これには、最初のフォームが完成したらページを更新できるという利点があります。

編集:申し訳ありませんが、単一の$_POSTで複数のフォームデータにアクセスできないことを意味しました。もちろん、それを$ _SESSIONに保存することもできます(セッションを正しく開始することを忘れないでください)。

于 2012-04-08T13:08:34.867 に答える