


PHPで2つのフォームを定義したのですが、最初のフォームを送信すると2番目のフォームが生成されてしまい、最初のフォームのデータが取得できなくなります。
Jun 23, 2016 pm 02:21 PM
フォーム php 送信データの転送
1 つの php で 2 つのフォームを定義しました。最初のフォームが送信されると、2 番目のフォームが生成されます。最初のフォームのデータを取得できません。 ?<form method="get"><input type="text" name="m"><input type="submit" value="Submit"></form>//最初のフォーム
<?php
echo "<form method='get'>";
for($i;$i<$m;$i++)
{
echo "<input type='text' name= 'n".$i."'><br/>";
}
echo "<input type='submit' value='Submit'>";
echo "</form> ;" ;// 2 番目のフォーム
var_dump($m);
?> 2 番目のフォームを送信した後、$m を最後まで渡すにはどうすればよいですか?
私は初心者なので、Cookie とセッションについて理解できません。ありがとう!
ディスカッションに返信 (解決策)
最も合理的な方法は、セッションまたは Cookie を使用して以前の送信を保存することです。理解できない場合は、これを学習の機会として利用してください
最も合理的な方法は次のとおりです。セッションまたはクッキーを使用する クッキーは以前の送信を保存します。理解できない場合は、これを機会として学習してください。私のアプローチは、2 つのフォームを 2 つの php ファイルにそれぞれ入れることです。次に、2番目のphpで setcookie("m1",$m,time()+3600);
$m2=$_COOKIE["m1"];
次に、変数 m2 を m の値として使用しましたが、 3 つの形式がある場合に m を取得するにはどうすればよいですか? phpが次のWebページにジャンプした後、前のphpの値が取得されないと思います。この問題は XML を使用して解決できますか?
物事をあまり複雑にしないでください
次に、最初のフォームの送信を隠し変数の形式で 2 番目のフォームに入れます
物事を作成しないでください。とても複雑です
次に、最初のフォームの送信を隠し変数の形式で 2 番目のフォームに入れます 以上です
私もそう思いましたが、変数は参考になるコードがあれば幸いです。ありがとうございます。
物事をそれほど複雑にしないでください
次に、最初のフォームの送信を隠し変数の形式で 2 番目のフォームに入れます
私はこの種のことに遭遇しました。アンケートをするときは、1 ページに 1 つの質問が表示されます。最初は、隠された質問を 1 つずつ答えていきました。 12 個の質問は面倒でした。はい、セッションを使用する方がはるかに簡単です
クッキーを使用する場合は、単に「偽の送信」を行って、すべての質問を一度に送信します。後続の質問を非表示にし、最後の質問までまとめて送信します
セッションの欠点は、時間に依存し、値の損失を避けるために一定期間内にアクションを必要とすることです
クッキーの欠点クライアントはそれを偽装できるということです
<form> </form> の間に php コードを追加します
foreach($_POST as $k=>$v) echo "<input type=hidden name'$k' value ='$v'>";
物事をそれほど複雑にしないでください
2 番目のフォームは、最初のフォームのハンドラーによって作成されます
それから、最初のフォームを隠し変数の形式で 2 番目のフォームに送信する
私もそう思いますが、変数は隠蔽されないので、参考になるコードがあることを願っています。ありがとうございます。
物事をそれほど複雑にしないでください
2 番目のフォームは最初のフォームのハンドラーによって作成されます
次に、最初のフォームの送信を隠し変数の形式で 2 番目のフォームに入れます
私はこの種のことに遭遇しました。アンケートをするときは、1 ページに 1 つの質問が表示されます。最初は、隠された質問を 1 つずつ答えていきました。 12 個の質問は面倒でした。はい、セッションを使用する方がはるかに簡単です
クッキーを使用する場合は、単に「偽の送信」を行って、すべての質問を一度に送信します。後続の質問を非表示にして、最後の質問まで 1 つずつ表示します。
セッションの欠点は、値の損失を避けるために一定の時間内にアクションを実行する必要があることです。 Cookie の欠点は、クライアントが偽装できることです。 いいえ、私が生成したフォームは、以前のフォームで送信されたデータに基づいてのみ使用できます。出力の上限はなく、非表示にすることはできません。
同様に、js は「送信」コンテンツに基づいてコントロールを生成することもできますが、これについてはよくわかりません
本当に理解できない場合は、#6 の Lao Xu の方法に従ってください。このアイデアが最も簡単です。
私は個人的には配列に比較的慣れているので、セッション レコードの使用には慣れていますが、以前に送信されたデータを毎回調べるのは面倒です
これは可能です。 2 つの方法
1 つの方法は、2 ページに分割し、第 1 ステップで送信した後、第 2 ステップで読むことです。
1 ページに 2 つのステップ: まず js を使用して 2 番目のステップを非表示にし、ajax で送信します。その後、最初のステップの値を 2 番目のステップでも取得できます。
物事をそれほど複雑にしないでください
2 番目のフォームは最初のフォームのハンドラーによって作成されます
次に、最初のフォームの送信を隠し変数の形式で 2 番目のフォームに入れます
これは 2 番目の PHP です:
<?php
foreach($_POST as $k=>$v)
{
echo "<input type='hidden' name='".$k."' value ='".$v."'/>";
}
var_dump($m);
echo "<form action='demo3.php' method='get'>";
for($ j =1;$j {
{
echo "n の値を入力してください".$j.": }
}
echo "<input type='submit' value='confirm'>";
echo "</form>";
これは 3 番目の PHP です:
<?php
foreach($_POST as $k=>$v)
{
echo "<input type='hidden' name='".$k."' value ='".$v."'>";
}
$n;
for($i=1;$i<=$m;$i++)
{
$h="n".$i ;
$n[]=$_POST["$h"];
}
var_dump($n);
?>
3 番目の php 出力へのジャンプは、 n1 と n2 、 n3 にのみ続きます。 . 値、m が表示されないのですが、何が起こっていますか?
同様に、js は「送信」コンテンツに基づいてコントロールを生成することもできますが、これについてはよくわかりません
本当に理解できない場合は、#6 の Lao Xu の方法に従ってください。このアイデアが最も簡単です。
ありがとうございます。しかし、6# より上のコードを使用しても結果が得られません。何が起こっているのでしょうか?
<input> を <form> の外に置くと何の役に立つのですか?
<input> を <form> の外に置くと何の役に立つのですか?
よく言ったね! 1 か月間無駄に PHP を書いたような気がします。また、コード内の get と post が一致していないことに気づきました。ありがとうございました。
csdn に投稿して PHP 関連の質問をするのは初めてですが、私の IQ をひどく軽蔑していますが、とても感謝しています。 xuzuning と snmr_com に感謝します。
@xuzuning @snmr_com
お花を散りばめて! O(∩_∩)O

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











LaravelのバックエンドでReactアプリを構築する:パート2、React
