您好,登錄后才能下訂單哦!
這篇文章主要講解了“瀏覽器怎么與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ù)。
表單的標(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è)面,解析后的樣子是這樣的:
可以看到,有兩個(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代碼文件發(fā)給了apache,如果項(xiàng)目目錄(默認(rèn)是/Library/WebServer/Documents)下面沒(méi)有這個(gè)php文件,那么在點(diǎn)擊提交按鈕后,會(huì)看到這樣的提示:
那么,發(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)度限制也很弱。
表單中可以指定把項(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í),在瀏覽器上可以看到這樣的提示:
明顯,還要區(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)注!
免責(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)容。