ホームページ >バックエンド開発 >PHPチュートリアル >フォームを送信した後に送信されたコンテンツを PHP で取得する方法、form php_PHP チュートリアル

フォームを送信した後に送信されたコンテンツを PHP で取得する方法、form php_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-12 08:50:391029ブラウズ

フォーム、フォーム php を送信した後に PHP で送信されたコンテンツを取得する方法

質問: Web ページでフォームを送信した後、PHP が送信されたコンテンツを取得できないのはなぜですか?ただし、古いバージョンの PHP では正常に動作します。

PHP の新しいバージョンでは、元のフォーム コンテンツの処理方法が廃止されました。つまり、送信されたフォームのコンテンツを同じ名前の変数に直接コピーすることはなくなりました。

解決策は 4 つあります:

1. php.ini を変更し、register_globals を見つけて、その値を On に変更します。この方法では、以前と同じにすることができます。たとえば、送信されたフォームに「username」という名前の変数が含まれている場合、$username を使用して PHP でその変数に直接アクセスできます。ただし、古いコードを使用していて互換性の問題がある場合を除き、この方法はお勧めできません。

2. $HTTP_GET_VARS、$HTTP_POST_VARS 配列を使用してアクセスします。たとえば、$HTTP_POST_VARS["username"] の形式で書き込みます。ただし、この方法はお勧めできません。

3. (推奨) $_POST、$_GET などの配列を使用してアクセスします。たとえば、$_POST["username"] の形式で書き込みます。このアプローチをお勧めします。

(推奨) import_request_variables 関数を使用します。この関数は、送信内容を変数にインポートします。

たとえば、 import_request_variables("gp", "rvar_"); 最初のパラメータは g、p、c を選択できます。これは、それぞれ GET、POST、COOKIE 変数をインポートすることを意味します。上記のステートメントを実行した後、$rvar_username を使用して、送信されたユーザー名変数にアクセスできます。以前の PHP プログラムと互換性を持たせるには、 import_request_variables("gp", ""); を使用します。

PHP の $_GET 変数と $_POST 変数は、ユーザーが入力した情報など、フォーム内の情報を取得するために使用されます。

PHPフォーム操作

HTML フォームと PHP フォームを扱うとき、覚えておくべき重要なことは、HTML ページ内のフォーム要素はすべて PHP スクリプトで自動的に使用できるということです。

フォーム例:


リーリー

上記の HTML ページには 2 つの入力フィールドと送信ボタンが含まれています。ユーザーが情報を入力して送信ボタンをクリックすると、フォームのデータが「welcome.php」ファイルに送信されます。

「welcome.php」ファイルは次のようになります:

リーリー

上記のスクリプトは次の結果を出力します:

ジョンさん、ようこそ


あなたは28歳です

PHPの$_GET変数と$_POST変数については以下で詳しく説明します。

フォーム検証[フォーム検証]

ユーザーが入力した情報は、可能な限りブラウザ上のクライアント スクリプト プログラム (JavaScript など) を通じて検証する必要があります。ブラウザを通じて情報の有効性を検証すると、効率が向上し、サーバーへのダウンロードの負荷が軽減されます。

ユーザーが入力した情報をデータベースに保存する必要がある場合は、サーバー側での検証を考慮する必要があります。サーバー上の情報の有効性を検証する最善の方法は、フォーム情報を検証のために他のページに転送するのではなく、検証のために現在のページに送信することです。上記の方法により、フォームにエラーがある場合、ユーザーは現在のページでエラー情報を直接取得できます。これにより、エラー メッセージの存在を検出しやすくなります。

PHP $_GET 変数は、get メソッドを通じてフォームから「値」を取得します。

$_GET変数

$_GET 変数は、名前 [名前] と値 [値] を含む配列です (これらの名前と値は HTTP GET メソッド経由で送信され、悪用される可能性があります)。

$_GET変数は「method=get」を使用してフォーム情報を取得します。 GET メソッド経由で送信されたメッセージは表示され (ブラウザのアドレス バーに表示されます)、長さ制限があります (メッセージの合計の長さは 100 文字を超えることはできません)。

ケース リーリー

ユーザーが「送信」ボタンをクリックするとURLが表示されます

「welcome.php」ファイルは、「$_GET」変数を使用してフォーム データを取得できます (注: フォーム フィールド [フォーム フィールド] の名前は、「$_GET」配列の ID キーワードとして自動的に使用されます)。

ようこそ d7cfd1af9a144d3c049746c46944161b。df250b2156c434f3390392d09b1c9563あなたは b6c48ab24df9e3d3ea9a15f05fe71187 です。

なぜ「$_GET」を使用するのですか? ポイント: 「$_GET」変数を使用すると、すべての変数名と変数値が URL アドレス バーに表示されるため、送信する情報にパスワードやその他の機密情報が含まれる場合、この方法は使用できなくなります。 。 方法。すべての情報は URL アドレスバーに表示されるので、お気に入りのラベルとして置くことができます。これは多くの状況で非常に役立ちます。

注: 送信する変数値が大きすぎる場合、HTTP GET メソッドは適用できません。送信される情報の量は 100 文字を超えることはできません。

$_REQUEST変数 PHP $_REQUEST 変数には $_GET、$_POST、$_COOKIE の内容が含まれます。

PHP $_REQUEST变量可以用来获取通过“GET”和“POST”这两种方法发送的表单数据。

案例

Welcome e2a972399fd96afef5b1c7e69fec4df1.df250b2156c434f3390392d09b1c9563You are de5308603027cd7d8415814e083d6cab years old!

PHP $_POST变量的作用是:获取method = “post”方法发送的表单变量。

$_POST变量

$_POST变量是一个包含名称[name]何值[value]的数组(这些名称和值是通过HTTP POST方法发送的,且都可以利用)

$_POST变量使用“method=POST”来获取表单信息。通过POST方法发送的信息是不可见的,并且它没有关于信息长度的限制。

案例

<form action="welcome.php" method="post">
Enter your name: <input type="text" name="name" />
Enter your age: <input type="text" name="age" />
<input type="submit" />
</form>

当用户点击“提交Submit”按钮后,URL中不会包含任何表单数据

“welcome.php”文件可以使用“$_POST”变量来获取表单数据(注意:表单栏[form field]内的名称将会自动作为“$_POST”数组中的ID关键词):

Welcome <&#63;php echo $_POST["name"]; &#63;>.<br />
You are <&#63;php echo $_POST["age"]; &#63;> years old!

为什么要使用$_POST?

通过HTTP POST发送的变量不会在URL中显示出来

变量的大小没有限制

然而,因为变量不能在URL中显示出来,所以也不可能把这个页面作为标签储存在收藏夹里。

$_REQUEST变量

PHP $_REQUEST变量包含$_GET, $_POST, and $_COOKIE的内容

PHP $_REQUEST变量可以用来获取通过“GET”和“POST”这两种方法发送的表单数据。

案例

 

Welcome <&#63;php echo $_REQUEST["name"]; &#63;>.<br />
You are <&#63;php echo $_REQUEST["age"]; &#63;> years old!

以上这篇提交表单后 PHP获取提交内容的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持帮客之家。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1133088.htmlTechArticle提交表单后 PHP获取提交内容的实现方法,表单php 问题: 网页上提交表单之后,PHP为什么不能获取提交的内容?然而在老版本的PHP上运行却...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。