フロント及びリア側開発(2):ブラウザとPHPのプログラムとの間の相互作用:ブラウザは、前後端PHPプログラム開発(2)と相互作用します

フロントとリア側の開発(2):ブラウザとPHPのプログラムとの間の相互作用

Macコンピュータプログラム上でPHPを有効にする方法についてのプレゼンテーション、および簡単な例を示しているが、この例では、実行中のブラウザで、インタラクティブなApacheとPHPプログラムを含むされ、これら三つの関係は、おそらくこれです:
PHPプログラムの位置

一般に、データブラウザ(または同様の機能のプログラム)のApache(または他のサーバ)への送信は「フォーム」と呼ばれ、フォームは、プロセスの相互作用を理解するために開始するには、「インターフェース」という小さな道、かなり「画面」でありますこれは、実行可能な選択肢です。

この記事では、フォームを送信する方法について説明し、対応する相互作用が引き金となりました。 次に、ブラウザの「ボタン」をクリックして、それは何の相互作用の種類につながるのだろうか?

(A)対話、ブラウザは、Apacheにデータを送信します

apacheのにデータを送信するためのフォームの形でブラウザ。

フォームのラベルは、次のとおりです。

、このようなHTMLページを次のように、内側に注意を払います
コンテンツラベル:

 

<html>
<meta charset="utf-8"> <body> <form action="login.php" method="post"> 昵称:<input type="text" name="name"> 口号:<input type="text" name="slogan"> <input type="submit" value="提交"> </form> </body> </html>

ブラウザによって解決する内容を含む、(全体的なインターフェースに相当)htmlページ、。例えば、解析された上記のhtmlページには、次のようになります。
シンプルなフォームインタフェース

次の2つのテキスト入力ボックスがあり、見て、ボタンを提出することができます。

ブラウザだけで分析作業が表示される場合は、どのようなPHPプログラムとはApacheはありません。実際には、多くの場合、ブラウザは、Apacheにデータを送信する必要があり、データはデータのタグ(すなわちフォーム)によって送られます。

フォームデータは、ボタン、メニュー、テキスト入力ボックスなどの要素をドロップダウンすることができるタグ、に見出すことができます。例えば、上記の形態:
フォーム要素

次のプロジェクトのディレクトリ(デフォルトは/ライブラリ/ WebServer / Documents)、その後、このPHPファイルを持って送信ボタンをクリックしていない場合にも、PHPコードファイルのapacheに送信された上記のフォームは、このプロンプトが表示されることに注意してください:
PHPファイルが見つかりません

だから、送信する時間は何ですか?つまり、ブラウザは、Apacheにどのような時にフォームデータを送信しますか?

時間のタイプにボタンを「送信」をクリックし、トリガを送信します。あなたがボタンを提出しない場合は、フォームがJSでイベントを提出トリガするためのイニシアチブを取る必要があります。

さらに、伝送方式では、ポストに分かれては仕方を取得します。

get方法,表单的所有信息都出现在请求的url中(在地址栏上可以看到),对于长度也有限制。比如,这样的get请求:

http://localhost/formtest.html?name=abc&slogan=hello+world

其中name与slogan是键(key),而abc与hello world是对应的值(value),表单的数据就是键值对的集合。

post方法,请求时不会显示表单的任何数据,对于长度限制也很弱。

(二)交互二,PHP代码访问表单的内容

表单中可以指定把项目目录中的php文件的内容(或者当前的脚本--比如既有表单又有php代码)提交给apache。apache在拿到php代码后,会交由PHP程序来处理,而这些php代码很可能需要访问表单的内容,比如login.php代码中,需要访问表单中的文本框的内容,那如何访问呢?

表单的内容(键值对的集合),会保存在$_GET变量(get方法时)或$_POST变量(post方法时)中,这个在apache调用PHP程序时就初始化好。

所以,PHP代码可以通过访问$_GET或$_POST变量来访问表单的内容。

比如,login.php的代码可以这样写:

<meta charset="utf-8">
你好,<?php echo $_GET["name"]; ?>! <br> 你的口号是:<?php echo $_GET["slogan"];?> !

再次提交这个表单时,在浏览器上可以看到这样的提示:
出力形式のコンテンツアクセスした後、

明显,还要区分是用$_GET还是$_POST是麻烦的,这时,可以使用$_REQUEST变量来访问,$_REQUEST对于get或post方式都适用。

应该留意到,PHP程序解析出结果后,把结果返回给apache,apache返回html页面给浏览器,最终浏览器显示结果。

总结一下,本文从一个简单表单请求的例子入手,介绍了表单的概念,以及请求过程中涉及到的两个重要的交互,并引出了_REQUEST等变量的使用。

 

上一节介绍怎么在mac电脑上启用PHP程序,并且演示了一个简单的例子,这个例子运行时,涉及了浏览器、apache以及PHP程序的交互,这三者的关系大概是这样的:
PHPプログラムの位置

一般に、データブラウザ(または同様の機能のプログラム)のApache(または他のサーバ)への送信は「フォーム」と呼ばれ、フォームは、プロセスの相互作用を理解するために開始するには、「インターフェース」という小さな道、かなり「画面」でありますこれは、実行可能な選択肢です。

この記事では、フォームを送信する方法について説明し、対応する相互作用が引き金となりました。 次に、ブラウザの「ボタン」をクリックして、それは何の相互作用の種類につながるのだろうか?

(A)対話、ブラウザは、Apacheにデータを送信します

apacheのにデータを送信するためのフォームの形でブラウザ。

フォームのラベルは、次のとおりです。

、このようなHTMLページを次のように、内側に注意を払います
コンテンツラベル:

 

<html>
<meta charset="utf-8"> <body> <form action="login.php" method="post"> 昵称:<input type="text" name="name"> 口号:<input type="text" name="slogan"> <input type="submit" value="提交"> </form> </body> </html>

ブラウザによって解決する内容を含む、(全体的なインターフェースに相当)htmlページ、。例えば、解析された上記のhtmlページには、次のようになります。
シンプルなフォームインタフェース

次の2つのテキスト入力ボックスがあり、見て、ボタンを提出することができます。

ブラウザだけで分析作業が表示される場合は、どのようなPHPプログラムとはApacheはありません。実際には、多くの場合、ブラウザは、Apacheにデータを送信する必要があり、データはデータのタグ(すなわちフォーム)によって送られます。

フォームデータは、ボタン、メニュー、テキスト入力ボックスなどの要素をドロップダウンすることができるタグ、に見出すことができます。例えば、上記の形態:
フォーム要素

次のプロジェクトのディレクトリ(デフォルトは/ライブラリ/ WebServer / Documents)、その後、このPHPファイルを持って送信ボタンをクリックしていない場合にも、PHPコードファイルのapacheに送信された上記のフォームは、このプロンプトが表示されることに注意してください:
PHPファイルが見つかりません

だから、送信する時間は何ですか?つまり、ブラウザは、Apacheにどのような時にフォームデータを送信しますか?

時間のタイプにボタンを「送信」をクリックし、トリガを送信します。あなたがボタンを提出しない場合は、フォームがJSでイベントを提出トリガするためのイニシアチブを取る必要があります。

さらに、伝送方式では、ポストに分かれては仕方を取得します。

方法を取得し、すべての情報は、フォームのURLリクエスト(アドレスバーに見られるように)で表示され、長さには限界があります。例えば、GETリクエスト:

http:?こんにちは=名= ABC&スローガン//localhost/formtest.html +世界

スローガンは、結合名(キー)であり、そしてABCのHello World対応する値(値)で、収集フォームデータは、キーと値のペアです。

ポスト方法、任意のデータ要求フォームが表示されない、長さの制限が弱いです。

(B)は、2つの相互作用、PHPコードは、フォームの内容にアクセスします

フォームは、プロジェクトディレクトリにPHPファイルの内容を指定することができます(または現在のスクリプト - たとえば、両方のは、PHPコードの形を持っている)のapacheに提出しました。PHPコードを得ることにApacheがに対処するためのPHPの手続きを呼び、これらは、そのようなlogin.phpコードとして、フォームの内容にアクセスするためのPHPコードを必要とする可能性がある、あなたはテキストボックスにフォームの内容にアクセスする必要があるし、それをアクセスする方法?

(POSTメソッドの場合)フォーム(キーと値のペアのコレクション)の内容は$ _GET変数(getメソッド)や$ _POST変数に保存されますPHPのApacheでの良いプログラムを呼び出すときに、これは初期化されます。

だから、PHPコードは$ _GETや$ _POST変数にアクセスすることで、フォームの内容にアクセスすることができます。

例えば、login.phpのコードを書くことができます。

<meta charset="utf-8">
你好,<?php echo $_GET["name"]; ?>! <br> 你的口号是:<?php echo $_GET["slogan"];?> !

ブラウザで再びこのフォームを送信するときは、このプロンプトを見ることができます:
出力形式のコンテンツアクセスした後、

もちろん、だけでなく、$ _GETや$ _POSTで困っている区別するために、そして、GETまたはPOST適用するために$ _ REQUESTの道を変数$ _REQUESTにアクセスするために使用することができます。

これは、PHPプログラムは、ブラウザは、最終的な結果を表示し、ブラウザに、結果が、結果は、Apacheに戻っApacheのリターンhtmlページを解析し、注目されるべきです。

要約すると、この例では、簡単なリクエストフォームから始まる形式の概念を導入し、2つの要求にプロセスに関与する重要な相互作用、および_REQUEST変数を使用したいリード。

 

おすすめ

転載: www.cnblogs.com/Wings934/p/11114024.html