目次
ミッション情報
ホームページ バックエンド開発 PHPチュートリアル PHP で HTML フォームを使用して単一および複数のフォーム値にアクセスする_PHP チュートリアル

PHP で HTML フォームを使用して単一および複数のフォーム値にアクセスする_PHP チュートリアル

Jul 13, 2016 pm 05:28 PM
html php 使用 価値 そして 複数 提出する ユーザー 組み合わせる 形状 アクセス 合格

HTML フォームを通じてユーザーが送信した情報をより簡単に操作できる機能は、常に PHP の強みの 1 つです。実際、PHP バージョン 4.1 では、この情報にアクセスするための新しいメソッドがいくつか追加されており、以前のバージョンから最も一般的に使用されていたメソッドの 1 つが事実上削除されています。この記事では、PHP の古いバージョンと新しいバージョンの両方を使用して、HTML フォームで送信された情報を操作するさまざまな方法を検討します。この記事では、単一の値を研究することから始めて、次に、一般に使用可能なフォーム値にアクセスできるページを構築します。 注: この記事は、PHP バージョン 3.0 以降を実行している Web サーバーにアクセスできることを前提としています。 PHP 自体と HTML フォームの作成についての基本的な理解が必要です。 HTML フォーム この記事を読むと、さまざまなタイプの HTML フォーム要素が PHP がアクセスできる情報をどのように提供するかがわかります。この例では、2 つのテキスト フィールド、2 つのチェックボックス、および複数の項目を入力できる選択ボックスで構成される単純な情報フォームを使用しました。 リスト 1. HTML フォーム

ツアー情報

ミッション情報

不在時指定されたメソッドの場合、フォームはデフォルトのメソッド GET を使用します。これは、以下に示すように、ブラウザによってフォームの値を URL に追加するために使用されます。 http://www.vanguardreport.com/formaction.php?ship= Midnight+Runner&tripdate=12-15-2433&exploration=yes&crew=snertal&crew=gosny 図 1 はフォーム自体を示しています。 図 1. HTML フォームの古い方法: グローバル変数へのアクセス リスト 2 に示すコードは、フォーム値をグローバル変数として処理します: リスト 2. フォーム値をグローバル変数として処理します "; echo "Tripdate = ".$tripdate; echo "
" ; echo "Exploration = ".$exploration; echo "
"; echo "Contact = ".$contact; ?> 生成された Web ページには、送信された値が表示されます: Ship = Midnight Runner Tripdate = 12-15-2433 = yes Contact = (後で説明するように、リスト 2 の表記は確かに便利ですが、PHP ディレクティブ register_globals が以前のバージョンに設定されている場合にのみ使用できます。 4.2 では、これがデフォルト設定であり、多くの PHP 開発者はこの問題に気づいていませんでしたが、バージョン 4.2 以降では、 register_globals のデフォルト設定が off になっており、この場合、変数が正しく動作しません。ただし、これらの変数は他の方法で初期化できます。共有サーバーを使用する多くの開発者は、サーバー全体のこの値を変更できません。 .htaccess ファイルにアクセスできる場合は、次のディレクティブを追加して register_globals を有効にすることができます。この機能が利用可能かどうかは不明であるため、開発者は次のことを行うことをお勧めします。システムがバージョン 4.1 以降を実行している場合、この関数を使用してグローバル変数コレクションを選択的に登録することもできます。必要に応じて、get、post、cookie の値をインポートし、各項目にプレフィックスを追加します。 "; echo "Exploration = ".$formval_contact ?> ここで、post 値がインポートされます。 c を使用して Cookie 値をインポートします。p は g の後に続くため、post 値は同じ名前の get 値を上書きします。 しかし、多くの開発者と同様に、バージョン 4.1 以降を実行していない場合はどうなるでしょうか? フォーム値のコレクションへのアクセス 古いバージョンを実行している場合、またはグローバル変数を使用したくない場合は、$HTTP_GET_VARS 配列と $HTTP_POST_VARS 配列を使用するオプションがあります。これらのコレクションは非推奨になりましたが、依然として利用可能であり、依然として広く使用されています。これらが使用されなくなった場合は、バージョン 4.1 で追加された $_GET 配列と $_POST 配列に置き換えられます。 これら 2 種類の配列の型はハッシュ テーブルです。ハッシュ テーブルは、整数ではなく文字列値によってインデックスが付けられた配列です。フォームを操作する場合は、リスト 3 に示すように、名前で値にアクセスできます。 ハッシュ テーブル $ship_value = $HTTP_GET_VARS[ship]; echo $ship_value; "; $tripdate_value = $HTTP_GET_VARS[tripdate]; echo $tripdate_value; echo "
"; $exploration_value= $HTTP_GET_VARS[exploration]; echo $exploration_value; echo "
""; $contact_value = $HTTP_GET_VARS[contact]; echo $contact_value; ?> このメソッドを使用すると、各フィールドの値を名前で取得できます。単一の名前、複数の値今まで、各名前は 1 つの値にのみ対応していました。たとえば、乗組員の種のリストボックスでは、複数の値をクルーという名前で送信できるので、値を明示的に取得できるようにする必要があります。 HTML ページを少し変更します。crew[] のように、配列として送信されるフィールドには角括弧で名前を付ける必要があります。 リスト 4. HTML ページを変更します... ... 1 回変更を加えると、フォームの値を取得すると実際には配列になります。 リスト 5. 変数に配列としてアクセスする... $crew_values = $HTTP_GET_VARS[crew] echo "0) ".$crew_values[0] ; echo "
"; echo "1) ".$crew_values[1]; echo "2) ".$crew_values[2]; ... ページを送信すると、複数の値が表示されます。 0) snertal 1) gosny 2 ) 最初に注意すべきことは、これは 0 から始まるインデックスの配列であるということです。最初に見つかった値は位置 0 にあり、次の値は位置 1 にあります。この場合、I のみです。値が 2 つ送信されるため、3 番目の項目は空になります。通常、送信される項目の数はわかりません。そのため、配列であることを利用して、sizeof() 関数を使用して値の数を決定できます。リスト 6. 配列のサイズを決定する... for ($i = 0; $i "; } ... ただし、値が多すぎるのではなく、値がまったく存在しないという問題が発生することがあります。 チェックボックスは、存在する場合にのみ送信されます。実際に選択されているかどうかは、チェックボックスが消えていることによってわかります。現実: ユーザーがチェックボックスをクリックしていない場合は、isset() 関数を使用して値が設定されているかどうかを明示的に確認できます。チェックボックスが送信されました... $contact_value = $ HTTP_GET_VARS[contact]; echo $contact_value; if (isset($contact_value)) { //チェックボックスがクリックされました } else { //チェックボックスがクリックされませんでした } ... すべてのフォームを取得値 チェックボックス フィールドは、フォームから期待されるものです。値の名前が完全に確実ではない可能性がある状況の例です。多くの場合、すべてのフォーム値に共通の方法でアクセスするルーチンがあると便利です。 幸いなことに、$HTTP_GET_VARS とその類似物は単なるハッシュ テーブルであるため、配列のいくつかのプロパティを使用して操作できます。たとえば、array_keys() 関数を使用して、すべての潜在的な値名のリストを取得できます。 リスト 8. フォーム値名のリストを取得します... $form_fields = array_keys($HTTP_GET_VARS) for ($i = 0; $i "; } else { echo $thisField ." = ". $thisValue; }実際に送信されたすべてのデータ データ: ship = Midnight Runner tripdate = 12-15-2433 exploration = yes crew = snertal crew = gosny 最後に 1 つ注意してください: これで、送信するあらゆるフォーム値を収容できるフォーム アクション ページが完成しました。少し考えてみる必要があります。これは、PHP プログラマーを驚かせることがよくあります。 場合によっては、図 2 に示すように、設計者は送信ボタンの代わりにグラフィカル ボタンを使用することを選択します。そのコードはリスト 10 に示されています。 リスト 10. グラフィック ボタンを追加する ... Crew sp

www.bkjia.com本当http://www.bkjia.com/PHPjc/531723.html技術記事 HTML フォームを通じてユーザーが送信した情報をより簡単に操作できる機能は、常に PHP の強みの 1 つです。実際、PHP バージョン 4.1 では、この情報にアクセスする新しい方法がいくつか追加されています...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? Apr 03, 2025 am 12:03 AM

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

HTML、CSS、およびJavaScriptの役割:コアの責任 HTML、CSS、およびJavaScriptの役割:コアの責任 Apr 08, 2025 pm 07:05 PM

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

See all articles