PHP で HTML フォームを使用する (2)
リスト 2 の表記は確かに便利ですが、これは PHP ディレクティブ register_globals が on に設定されている場合にのみ使用できます。バージョン 4.2 より前は、これがデフォルト設定であり、多くの PHP 開発者はこの問題にさえ気づいていませんでした。ただし、バージョン 4.2 以降では、 register_globals のデフォルト設定がオフになっています。この場合、変数が作成されず、適切な値で初期化されないため、この表記は正しく機能しません。
ただし、これらの変数は他の方法でも初期化できます。 1 つ目の方法は、 register_globals の値を変更することです。共有サーバーを使用している開発者の多くは、サーバー全体のこの値を変更する権限を持っていませんが、特定のサイトの動作を変更することはできます。 .htaccess ファイルにアクセスできる場合は、次のディレクティブを追加して register_globals を有効にできます:
php_flag register_globals on
この機能が利用可能かどうかが不確実であるため、開発者は使用しないことをお勧めします。この方法で変数を取得してください。それで、あなたの選択肢は何ですか?
システムがバージョン 4.1 以降を実行している場合、他のオプションは、import_request_variables() を使用してグローバル変数のコレクションを選択的に登録することです。この関数を使用して、get、post、cookie の値をインポートし、必要に応じて各項目にプレフィックスを付けることができます。例:
import_request_variables(gp, "formval_");
echo "Ship = ".$formval_ship;
echo "
";
echo " Tripdate = ".$formval_tripdate;
echo "
";
echo "Exploration = ".$formval_exploration;
echo "
";
echo "Contact = ". $ formval_contact;
?>
ここでは、get 値と post 値がインポートされます (c を使用して cookie 値をインポートします)。p は g の後に続くため、post 値は同じものの get 値を上書きします。名前。
しかし、多くの開発者と同様に、バージョン 4.1 以降を実行していない場合はどうすればよいでしょうか?
フォーム値コレクションへのアクセス
古いバージョンを実行している場合、またはグローバル変数を使用したくない場合は、$HTTP_GET_VARS 配列と $HTTP_POST_VARS 配列を使用するオプションがあります。これらのコレクションは非推奨になりましたが、依然として利用可能であり、依然として広く使用されています。これらが使用されなくなった場合は、バージョン 4.1 で追加された $_GET 配列と $_POST 配列に置き換えられます。
これら 2 種類の配列の型はハッシュ テーブルです。ハッシュ テーブルは、整数ではなく文字列値によってインデックスが付けられた配列です。フォームを操作するときは、リスト 3 に示すように、名前によって値にアクセスできます。 '船'] ;
echo $ship_value;
echo "
";
$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 ページを変更します
...
。 ..
変更を加えた後、フォームの値を取得すると実際に配列が生成されます:
リスト 5. 配列として変数にアクセスする
...
$crew_values = $HTTP_GET_VARS ['乗組員'];
echo "0) ".$crew_values[0];
echo "
";
echo "1) ".$crew_values[1];
echo "
";
echo "2) ".$crew_values[2];
...
これで、ページの送信後に複数の値が表示されます:
0) snertal
1) gosny
2)
まず、これはインデックスが0から始まる配列であることに注意してください。最初に見つかった値は位置 0 にあり、次の値は位置 1 にあり、以下同様です。この場合、2 つの値のみを送信したため、3 番目の項目は空です。
通常、送信される項目の数はわかりません。そのため、配列であるという事実を利用して、sizeof() 関数を使用して、各項目を呼び出さずに送信された値の数を判断できます。直接:
リスト 6. 配列のサイズを決定します
...
for ($i = 0; $i < sizeof($crew_values); $i++) {
echo $crew_values[ $i];
echo "
";
}
...
ただし、問題がそれほど重要ではない場合もありますが、まったく問題はありません

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック

今日の急速な技術発展の時代では、雨後の筍のようにプログラミング言語が出現しています。多くの注目を集めている言語の 1 つは Go 言語です。Go 言語は、そのシンプルさ、効率性、同時実行の安全性などの機能により多くの開発者に愛されています。 Go 言語は、多くの優れたオープンソース プロジェクトがある強力なエコシステムで知られています。この記事では、厳選された 5 つの Go 言語オープンソース プロジェクトを紹介し、読者を Go 言語オープンソース プロジェクトの世界へ導きます。 KubernetesKubernetes は、自動化されたオープンソースのコンテナ オーケストレーション エンジンです。

「Go 言語開発の要点: 5 つの人気フレームワークの推奨事項」 高速で効率的なプログラミング言語として、Go 言語はますます多くの開発者に好まれています。開発効率を向上させ、コード構造を最適化するために、多くの開発者はフレームワークを使用してアプリケーションを迅速に構築することを選択します。 Go 言語の世界には、選択できる優れたフレームワークが数多くあります。この記事では、5 つの人気のある Go 言語フレームワークを紹介し、読者がこれらのフレームワークをよりよく理解して使用できるように、具体的なコード例を示します。 1.GinGin は高速な軽量 Web フレームワークです。

インターネットの発達や情報技術の進歩によりビッグデータの時代が到来し、データ分析や機械学習などの分野も広く活用されています。これらの分野では、タスクのスケジューリングは避けられない問題です。効率的なタスクのスケジューリングを実現する方法は、効率を向上させるために重要です。この記事では、Golang の Web フレームワーク Echo フレームワークを使用して分散タスク スケジューリングを実装する方法を紹介します。 1. Echo フレームワークの概要 Echo は、高性能、スケーラブル、軽量の GoWeb フレームワークです。 HTTPに基づいています

Laravel は、拡張性と効率性に優れた人気の PHP フレームワークであり、開発者が高品質の Web アプリケーションを迅速に構築できる強力なツールとライブラリを多数提供しています。その中でも、LaravelEcho と Pusher は、WebSocket 通信を簡単に実装できる 2 つの非常に重要なツールであり、この記事では、Laravel アプリケーションでこれら 2 つのツールを使用する方法について詳しく説明します。 WebSocket とは何ですか? Webソケット

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

PHP における echo キーワードの役割と使用法の詳細な説明 PHP は、Web 開発で広く使用されているサーバーサイド スクリプト言語です。 echo キーワードは、PHP でコンテンツを出力するために使用されるメソッドです。この記事では、echoキーワードの機能と使い方を詳しく紹介します。機能: echo キーワードの主な機能は、コンテンツをブラウザに出力することです。 Web 開発では、フロントエンド ページにデータを動的に表示する必要がありますが、このとき、echo キーワードを使用してデータをページに出力できます。 e

Go 言語は、高速で効率的なプログラミング言語として、常にプログラマーに好まれてきました。 Go 言語エコシステムでは、フレームワークは、開発者がアプリケーションをより迅速に構築できるようにする上で重要な役割を果たします。この記事では、Go 言語のフレームワークを 5 つ紹介し、それぞれの特徴と使い方を理解します。 1. Gin フレームワーク Gin フレームワークは、高速で高性能な特性を備えた軽量の Web フレームワークです。 Jin フレームワークを使用して、RESTful API と Web アプリケーションを迅速に構築します。簡単なコード例を次に示します。

現在最も人気のある Go フレームワークは次のとおりです。 Gin: 軽量で高性能な Web フレームワークで、シンプルで使いやすいです。 Echo: 高性能のルーティングとミドルウェアを提供する、高速で高度にカスタマイズ可能な Web フレームワーク。 GorillaMux: 高度なルーティング構成オプションを提供する高速で柔軟なマルチプレクサー。 Fiber: 大量の同時リクエストを処理する、パフォーマンスが最適化された高性能 Web フレームワーク。 Martini: 豊富な機能セットを提供するオブジェクト指向設計のモジュール式 Web フレームワーク。
