溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

瀏覽器怎么與PHP程序進(jìn)行交互

發(fā)布時(shí)間:2021-09-13 18:19:59 來(lái)源:億速云 閱讀:103 作者:chen 欄目:大數(shù)據(jù)

這篇文章主要講解了“瀏覽器怎么與PHP程序進(jìn)行交互”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“瀏覽器怎么與PHP程序進(jìn)行交互”吧!

本文介紹表單在PHP程序交互中的應(yīng)用。

那么,在瀏覽器上點(diǎn)擊一個(gè)“按鈕”,會(huì)引發(fā)什么樣的交互行為呢?

(一)交互一,瀏覽器給apache發(fā)送數(shù)據(jù)

瀏覽器以表單的形式給apache發(fā)送數(shù)據(jù)。

表單的標(biāo)簽是:<form></form>,比如下面一個(gè)html頁(yè)面,留意里面<form>標(biāo)簽的內(nèi)容:

<html>

<meta charset="utf-8">

<body>

<form action="login.php" method="post">

昵稱:<input type="text" name="name">

口號(hào):<input type="text" name="slogan">

<input type="submit" value="提交">

</form>

</body>

</html>

html頁(yè)面(相當(dāng)于整體的界面),包括<form>中的內(nèi)容,由瀏覽器來(lái)解析。比如上面的這個(gè)html頁(yè)面,解析后的樣子是這樣的:瀏覽器怎么與PHP程序進(jìn)行交互

可以看到,有兩個(gè)文本輸入框,還有一個(gè)提交按鈕。

如果瀏覽器只做解析顯示的工作,那就沒(méi)有apache跟PHP程序什么事情了。實(shí)際上,瀏覽器經(jīng)常要把數(shù)據(jù)發(fā)送給apache,而發(fā)送的數(shù)據(jù)就是<form>標(biāo)簽(即表單)的數(shù)據(jù)。

表單數(shù)據(jù),可以在<form>標(biāo)簽中找到,其中可以包括按鈕、下拉菜單、文本輸入框等等元素。比如上面那個(gè)表單:

瀏覽器怎么與PHP程序進(jìn)行交互

注意,上面的表單,還把PHP代碼文件發(fā)給了apache,如果項(xiàng)目目錄(默認(rèn)是/Library/WebServer/Documents)下面沒(méi)有這個(gè)php文件,那么在點(diǎn)擊提交按鈕后,會(huì)看到這樣的提示: 
瀏覽器怎么與PHP程序進(jìn)行交互

那么,發(fā)送的時(shí)機(jī)是什么?即在瀏覽器在什么時(shí)候發(fā)送表單數(shù)據(jù)給apache?

在點(diǎn)擊“submit”類(lèi)型的按鈕的時(shí)候觸發(fā)發(fā)送。如果沒(méi)有submit按鈕,則需要通過(guò)js主動(dòng)觸發(fā)表單的submit事件。

另外,在發(fā)送的method上,區(qū)分為get與post方式。

get方法,表單的所有信息都出現(xiàn)在請(qǐng)求的url中(在地址欄上可以看到),對(duì)于長(zhǎng)度也有限制。比如,這樣的get請(qǐng)求:

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

其中name與slogan是鍵(key),而abc與hello world是對(duì)應(yīng)的值(value),表單的數(shù)據(jù)就是鍵值對(duì)的集合。

post方法,請(qǐng)求時(shí)不會(huì)顯示表單的任何數(shù)據(jù),對(duì)于長(zhǎng)度限制也很弱。

(二)交互二,PHP代碼訪問(wèn)表單的內(nèi)容

表單中可以指定把項(xiàng)目目錄中的php文件的內(nèi)容(或者當(dāng)前的腳本–比如既有表單又有php代碼)提交給apache。apache在拿到php代碼后,會(huì)交由PHP程序來(lái)處理,而這些php代碼很可能需要訪問(wèn)表單的內(nèi)容,比如login.php代碼中,需要訪問(wèn)表單中的文本框的內(nèi)容,那如何訪問(wèn)呢?

表單的內(nèi)容(鍵值對(duì)的集合),會(huì)保存在$_GET變量(get方法時(shí))或$_POST變量(post方法時(shí))中,這個(gè)在apache調(diào)用PHP程序時(shí)就初始化好。

所以,PHP代碼可以通過(guò)訪問(wèn)$_GET或$_POST變量來(lái)訪問(wèn)表單的內(nèi)容。

比如,login.php的代碼可以這樣寫(xiě):

<meta charset="utf-8">

你好,<?php echo $_GET["name"]; ?>! <br>

你的口號(hào)是:<?php echo $_GET["slogan"];?> !

再次提交這個(gè)表單時(shí),在瀏覽器上可以看到這樣的提示: 
瀏覽器怎么與PHP程序進(jìn)行交互

明顯,還要區(qū)分是用$_GET還是$_POST是麻煩的,這時(shí),可以使用$_REQUEST變量來(lái)訪問(wèn),$_REQUEST對(duì)于get或post方式都適用。

應(yīng)該留意到,PHP程序解析出結(jié)果后,把結(jié)果返回給apache,apache返回html頁(yè)面給瀏覽器,最終瀏覽器顯示結(jié)果。

感謝各位的閱讀,以上就是“瀏覽器怎么與PHP程序進(jìn)行交互”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)瀏覽器怎么與PHP程序進(jìn)行交互這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI