1

だから私はワードプレスを使用していますが、ワードプレスコミュニティはこのシナリオを支援するための厳密なPHPや何かについて十分に知っていないようです。

かなり手の込んだフォーム/調査を作成するために使用しているGravityFormsというプラグインがあります。ただし、これはマルチパートフォームであり、最初から2番目までのすべてのフォームデータを取得する方法がわかりません。

クエリ文字列を介してデータを渡すことはできますが、25フィールドの情報を渡すので、うまくいきません。

form1が送信されたらすぐに、次のようなコードが含まれている2ページ目にリダイレクトさせることはできますか?

$foo = $_POST['field_1_1']; 

ここで、field_1_1は前のフォームからの入力の名前ですか?

以前にクエリ文字列に$_GETを使用したことがありますが、今述べた例が$_POSTの使用方法であるかどうかはわかりません。

4

4 に答える 4

1

リクエスト間で保持されるPHPの変数を使用でき$_SESSIONます(PHPセッションが構成されている時間まで-通常は数時間)

<input type="hidden">または、古いフォームデータを要素に出力することもできます(ネットワークの使用に関してはやや非効率的です) 。そうするつもりなら、シリアル化機能の使用を検討します

大規模な本番環境で何かをしている場合は、memcacheまたはredisdbを調べることもできます。

他に検討したいことは、JSを使用してクライアント側でページネーションを行い、すべてのページに入力した後にフォームが送信されるようにすることです。

于 2012-08-07T17:28:29.170 に答える
0

はい、これは正しい使用法です。フォームがPOSTメソッドを使用して送信していることを確認してください。

(の場合と同様に$_GET)ユーザー入力が信頼されないことを確認してください。データベースとの相互作用のために、必ずそれらをサニタイズしてください。

于 2012-08-07T17:14:28.083 に答える
0

はい、次のようにフォームを変更します。

<form method="post" action="page_to_post_to.php" name="form1" id="form1">
    ....
</form>

とを新しいページに変更しmethodます。新しいページは、変数にアクセスできるページです。postaction$_POST

于 2012-08-07T17:15:32.093 に答える
0

別のフォームを使用する場合は、$ _ SESSIONスーパーグローバル配列を使用して、セッションで$_POSTデータを一時的に保存すると便利な場合があります。

または、JavaScriptを使用して長いフォームを分割し、最終的な宛先に1回送信することもできます。

于 2012-08-07T17:24:43.290 に答える