最新のWeb開発のチュートリアル
×

PHP チュートリアル

PHP HOME PHP イントロ PHP インストール PHP 構文 PHP 変数 PHP エコー/印刷 PHP データの種類 PHP ストリング PHP 定数 PHP 演算子 PHP If...Else...Elseif PHP Switch PHP whileループ PHP Forループ PHP 機能 PHP 配列 PHP 配列のソート PHP スーパーグローバル

PHP 取り扱い

PHP フォーム 取り扱い PHP フォーム 検証 PHP フォーム 必須 PHP フォーム URL/E-mail PHP フォーム コンプリート

PHP 高度な

PHP 多次元配列 PHP 日時 PHP 含めます PHP ファイル 取り扱い PHP ファイル オープン/読みます PHP ファイル 作成/書きます PHP ファイル アップロード PHP Cookies PHP Sessions PHP フィルター PHP Filters 高度な PHP エラー 取り扱い PHP 例外

MySQL Database

MySQL データベース MySQL 接続 MySQL Create DB MySQL Create 表 MySQL Insert Data MySQL 最後のIDを取得します MySQL 複数の挿入 MySQL Prepared MySQL Select Data MySQL Delete Data MySQL Update Data MySQL Limit Data

PHP - XML

PHP XML パーサー PHP SimpleXML Parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX イントロ AJAX PHP AJAX データベース AJAX XML AJAX ライブ検索 AJAX RSSリーダー AJAX 世論調査

PHP Examples

PHP 例 PHP クイズ PHP 証明書

PHP 参照

PHP アレイ PHP カレンダー PHP 日付 PHP ディレクトリ PHP エラー PHP ファイルシステム PHP フィルタ PHP FTP PHP HTTP PHP Libxml PHP 郵便物 PHP 数学 PHP その他 PHP MySQLiを PHP SimpleXML PHP 文字列 PHP XML PHP Zip PHP 時間帯

 

PHP 5フォームの処理


PHPスーパーグローバル$ _GETと$ _POSTは、フォームデータを収集するために使用されています。


PHP - シンプルなHTMLフォーム

以下の例は、2つの入力フィールドを持つ単純なHTMLフォームと送信ボタンが表示されます。

<html>
<body>

<form action="welcome.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>
»実行例

ユーザーは上記のフォームに記入し、送信ボタンをクリックすると、フォームデータは、名前のPHPファイルへの処理のために送られる"welcome.php" 。 フォームデータはHTTP POSTメソッドで送信されます。

提出されたデータを表示するには、単純にすべての変数をエコー可能性があります。 "welcome.php"次のようになります。

<html>
<body>

Welcome <?php echo $_POST["name"]; ?><br>
Your email address is: <?php echo $_POST["email"]; ?>

</body>
</html>

出力は次のようなものが考えられます。

Welcome John
Your email address is [email protected]

同じ結果は、HTTPのGETメソッドを使用して達成することができます。

<html>
<body>

<form action="welcome_get.php" method="get">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>
»実行例

そして"welcome_get.php"次のようになります。

<html>
<body>

Welcome <?php echo $_GET["name"]; ?><br>
Your email address is: <?php echo $_GET["email"]; ?>

</body>
</html>

上記のコードは非常に簡単です。 しかし、最も重要なことがありません。 あなたは、悪意のあるコードからスクリプトを保護するために、フォームデータを検証する必要があります。

PHPのフォームを処理する際に、セキュリティを考えてみて!

このページには、任意のフォーム検証を含んでいない、それはちょうどあなたが送信し、フォームデータを取得する方法を示しています。

ただし、次のページでは、セキュリティを考慮してPHPのフォームを処理する方法を紹介します! フォームデータの適切な検証はハッカーやスパマーからフォームを保護することが重要です!


POST対GET

GETとPOSTの配列を作成し、両方の(例えばarray( key => value, key2 => value2, key3 => value3, ...) この配列は、キーがフォームコントロールの名前であり、値はユーザからの入力データであるキー/値のペアを保持します。

GETとPOSTの両方が$ _GETと$ _POSTとして扱われます。 あなたは特別な何かをすることなく、任意の関数、クラス、またはファイルからそれらにアクセスすることができます - これらは、関係なく、スコープの、常にアクセス可能であることを意味し、スーパーグローバルです。

$ _GETはURLパラメータで現在のスクリプトに渡された変数の配列です。

$ _POSTは、HTTP POSTメソッドで現在のスクリプトに渡された変数の配列です。


GETを使用する場合は?

GETメソッドでフォームから送信された情報は、(すべての変数名と値をURLに表示されている) すべてのユーザーに表示されます。 また、送信する情報の量には限界がありますGET。 制限が約2000文字です。 変数はURLに表示されているのでしかし、それはページをブックマークすることが可能です。 これは、いくつかのケースで役立ちます。

非機密データを送信するために使用することができるGET。

Note:パスワードやその他の機密情報を送信するために使用すべきではありませんGET!


POSTを使用する場合は?

POSTメソッドでフォームから送信された情報は、 他人には見えない (all names/values are embedded within the body of the HTTP request)と、送信する情報の量には制限がありません。

サーバにファイルをアップロードしながらさらにPOSTは、マルチパートバイナリ入力のサポートなどの高度な機能をサポートします。

変数はURLに表示されていないので、しかし、それはページをブックマークすることはできません。

開発者は、フォームデータを送信するためのPOSTを好みます。

次に、我々はPHPで安全な方法を形成して処理することができますどのように見ることができます!