ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルで複数ページのフォームを作成する方法を学ぶ

PHP_PHP チュートリアルで複数ページのフォームを作成する方法を学ぶ

WBOY
WBOYオリジナル
2016-07-13 17:27:16931ブラウズ

もちろん、ここで終わりではありません。結局のところ、1 ページに複数のフォームを作成できるのに、なぜ複数のページにまたがるフォームを作成できないのでしょうか? 残念ながら、HTTP を使用してあるページから別のページにデータを転送するのは簡単ではありません。 HTTP プロトコルには、一連のページの概念を定義するメカニズムが組み込まれていないためです。ただし、PHP のいくつかの賢いトリックといくつかの便利な関数を使用すると、それほど苦労せずにこの制限を克服できます。この章の重要なアイデアは、前のページで取得した入力を次のページのフォームの暗黙変数に保存することです。画面上の異なるページ間を切り替えると、コードはページ間でも情報を渡し、各フォームには前のフォームのデータが含まれます。この方法は少し面倒に思えるかもしれませんが、現時点では最も単純な方法であり、データベースや Cookie を使用する必要はありません。 当然のことながら、この機能に対応するために変数 $state の使用を拡張します。そのため、私たちは 1 つのページで複数のフォームを処理するというより簡単な方法を採用せずに、過去にこのテクニックについて学びました。 便宜上、前のフォームの例を再利用します。ただし、今回は、チーズとユーザー名に関する重要な質問を同じページに置くのではなく、2 ページに分割することにします。 これにより、2 つではなく 3 つの関数が作成されます。さらに、関数の内容の変更を反映するために、関数の名前がわずかに変更されました。 display_form() は、display_name() という名前に変更されました。 前に紹介した関数と同じですが、次に何をすべきかをより明確にユーザーに伝えるために、最初に次の問題を解決し、次のステージの名前をチーズに変更しましょう。 次はdisplay_cheese()です。 上記のコードは非常に見覚えがあるはずです。隠しステージ要素を出力する前に、データの前の部分で $name 変数名と値を出力すること以外は、予期しない変更は加えていません。変数値を直接出力するのではなく、htmlspecialchars() という PHP 関数を通じて出力します。 HTM では、マークアップ以外で使用してはいけない文字が「」、「"」、「&」の 4 つであるため、ブラウザが混乱を招かないようにするために、したがって、名前が「Bret & Jeff」だった人は、この新しいフォームを送信するときに「Brett & Jeff」になりますが、上記のトリックの効果は何も失われません。元の process_form() 関数の一部を変更する必要はありません。実際には、前の 2 つの宣言に elseif を追加するだけです。変数 $stage を使用して、さらにページを追加したい場合は、目的のコンテンツを表示する新しい関数を記述し、表示されたときにコード で制御するだけです。

http://www.bkjia.com/PHPjc/531901.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/531901.html技術記事もちろん、ここで終わりではありません。結局のところ、1 ページに複数のフォームを作成できるのに、なぜ複数のページにまたがるフォームを作成できないのでしょうか? 残念ながら、HTTP を使用してページからデータを送信しています...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。