關聯課件:6子項目六 -$_POST和$_GET數組(點擊在線預覽)
6.3.2 $_PO爸家ST和$_GET數組
&nb計訊sp; 網頁中的數據傳遞中不外乎兩店術(liǎng)種(zhǒng)方式,一種(zhǒng)是接收表單山廠數據(也稱爲POST方法),另一種(zhǒng)是接收URL附嗎能加數據(也稱爲GET方法)。下面(miàn)到拿對(duì)這(zhè)兩(liǎng)種(zhǒ是資ng)方式進(jìn)行介紹。
6.3.2.1 用$_POST接收表單數據
先來分析一下程序6-1.php的源高看文件。
1: <!--文件6-1.php:表單數據傳遞-->銀國
2: <HTML>做嗎
3: <H黑照EAD>
4: 吧輛<TITLE>表單數據傳遞</TI山年TLE>
5: &西吧lt;/HEAD>
6: <B白大ODY>
7: &nb西資sp; <道山?php
8: &n工日bsp;  冷去;  熱海; $tag=$_POST["tag"人報];
9: &懂低nbsp; &來什nbsp; 麗就 if ($tag==1){
10: 一動 &nb家他sp; &nbs風行p; $addend1=$火從_POST["addend1"];
11: &姐地nbsp; &nbs身費p; 信妹 &nb作中sp; $add事森end2=$_POST["adden秒聽d2"];
12: &nbs少森p; &nbs很會p; }
else{
13: &nb做舞sp; &相老nbsp;  飛報; &少河nbsp; $addend1=0;
14: &nb習腦sp; &nb讀火sp;  廠木; &街就nbsp; $addend2=0;
15:  山件; &nb煙體sp; &nbs話上p; }
16: &車風nbsp; &nb上嗎sp; $sum=$add空議end1 $addend2;
17: 中煙 ?>
18: &nb地坐sp; //請在下面(miàn)厭視的表單中輸入兩(liǎng)數以求其和
19: 錢我 <f計厭orm name="form1" method=&quo亮月t;post" act知作ion="#"笑些;>
20: 放熱  弟妹; &nbs報女p; <input type=&q好裡uot;hidden" name跳要="tag" size="中金4" value="1">
21: &nbs林術p; <in上男put type="t志內ext" name="addend1" siz資友e="4" value="<?聽讀php echo $addend1;?>">火河
22:  姐著; &nb外近sp;
23: &n市鐵bsp; <in窗拿put type="text" name="ad森南dend2" size="4" 腦答value="<?鐘老php echo
$addend2;?>">
24: &紙錢nbsp; =
25: 跳請 &nbs女飛p; <?php echo $sum;?><br&愛姐gt;
26: 會文 <br><input 議國type="submit&quo綠器t; name="bu畫務tton1" value="計算&quo市都t;>
27: &nb技兒sp; <input type="河習;reset" name=&q說身uot;button2"東文; value="重置">計鄉
28: &n對秒bsp; <線東;/form>
29: <照務;/BODY>
30: </HTML>
從程序區哥6-1.php中不難發(fā)現,除了第7行到17行其餘代碼都(長火dōu)不是PHP的程序,而是HTML中的表單代碼,其中第20行是一個初有月始值爲1的隐藏表單,它在浏覽器中是不顯雜請示的,但是也可以随著(zhe)“腦城計算”按鈕的提交而傳遞數據,接收後(hòu)用以來判斷當前執照但行的頁面(miàn)是提交前的頁面(miàn)還(hái)是提交後(hòu)的站好頁面(miàn)。注意,隐藏表單在網頁中是非常重要而且應用十分廣泛。程序她森的第7行到第17行是程序的主要部分訊就,先用POST方法接收隐藏表單的數據,然後(hòu)判斷如果爲1,件現也就(jiù)是單擊過(guò)“計算”之後(hòu)的執行的頁面(樹見miàn),就(jiù)接收兩(liǎng)個加數,否則,就對到(jiù)兩(liǎng)個加數均初始化爲0,第16行則是身哥計算兩(liǎng)個加數的和。
如果沒(méi)冷音有輸入數據時(shí),也就(jiù)是還月初次浏覽時(shí),其運行結果如圖黑村6-1(a)所示。
當在兩(煙舞liǎng)個表單裡(lǐ)輸入“88”和“66”兩(liǎng)個數值并單擊店媽“計算”按鈕後(hòu),其運行結商藍果如圖6-1(b)所示。
(a)初次浏覽的頁面(miàn)厭票
(b)輸入數據并單擊“計算”按鈕後(hòu)的效果
6.3.2.2 用$_GET接收URL附加數據&nbs朋金p; &nb技友sp;
接下來看一下URL附加數據時(shí)怎麼(me)接學花收的如程序6-2.php所示。
1: <!--文件6-2.php:URL附加坐資數據傳遞-->
2: <HTML>
3: 放空 <家海HEAD>
4: &校個nbsp;<TITLE>URL附加數據傳遞</TITLE木拍>
5: &多作nbsp; </HEAD&g機月t;
6:  花知; <BODY>
7: &n火房bsp; <a href=喝老"6-2.php?show_tag=1">顯示訊是圖片</a>
8: &n哥金bsp; 會事<a href="?sho房刀w_tag=2">隐藏圖船子片</a><農舞br><br>
9:  樹飛; <?php
10: &n又亮bsp; 厭這 $show_tag=$_G黑拍ET["show_tag&q作書uot;];
11:  鄉制;  我爸; if ($show_tag==1){
12: &nb老放sp; &n的拿bsp; echo "<img src=php時風.gif width=120 he錯綠ight=67>";
13: &nbs人唱p; 時船 }
14: &nbs美什p; ?>
15:  樂從; </BODY問相>
16: </HTML>
&n遠算bsp;程序6-2.php的第7行和第8聽黑行均爲HTML中的超級鏈接,但有所不同的是,第7行姐森鏈接到文件“6-2.php”并附加船術數據“show_tag=1”,第8行鏈接到你愛本頁文件并附加數據“show_tag=1”,其實這(zhè)兩(秒為liǎng)行運行的最終效果是一樣(yàng)的。第10行是接收URL愛司附件數據的具體方法。第11行到第13行是如果接讀月受過(guò)來的URL的附件數據爲“1友科”時(shí)輸出顯示圖片的HTML代碼,即離林顯示圖片。
運行對南6-2.php時(shí),其運行結果文友如圖6-2(a)所示。
單擊“顯木草示圖片”時(shí),其運行效果如圖6-2舞工(b)所示。
&器好nbsp; 單擊“隐藏圖片”時(shí),其運舞藍行效果如圖6-2(c)所示。
(a)初次浏覽頁面(miàn)時(shí)的運行結土影果的運行結果
(b)單擊“顯示圖片”時(shí)的運行結習爸果
(c)單擊“隐藏圖片”時(shí)用站的運行結果
程序6-2.php中隻傳數明遞了一個數據,如果要傳遞多個數據應該如何做呢?隻需要把第7行的“6-微喝2.php? show_tag=1”代碼改寫成(chéng算老)如“6-2.php? show_tag=1志志&date_name=da照南te”的代碼,就(jiù)可以傳遞兩(家弟liǎng)個數據了,也就(jiù)是說(shuō)在傳遞多個數樹草據的時(shí)候要用“&小輛”進(jìn)行連接或分割。
作地 通過(guò)上面(mià男上n)的兩(liǎng)個例子,不難發(fā)現兩(liǎng)種(zhǒ小山ng)數據傳遞方法的不同點:GET方法可以在地址欄中顯示出來,也就(玩慢jiù)是比較暴露,存在著(zhe)安全隐患,而POST方法則腦都比較隐蔽,特别是隐藏表單的使用,不僅可以增加程序的安全性,還(聽森hái)可以傳遞一些不需要用戶輸入務在或不能(néng)讓用戶更改的貫穿若幹個網頁的量值。
GET和POST是由HTTP協議定義的。在HTTP協議我日中,Method和Data(URL, Body, Header)是得的正交的兩(liǎng)個概念,也就(唱區jiù)是說(shuō),使用哪黑機個Method與應用層的數據如何傳有錯輸是沒(méi)有相互關系的。
GET方法可以在地址欄中顯示出來,POST現金就(jiù)相對(duì)隐蔽商東
GET方法可以在地址欄中顯示出來,也就(jiù)是比較暴露,存在又睡著(zhe)安全隐患,而POST方法則比較隐水房蔽,特别是隐藏表單的使用,不僅可以增森爸加程序的安全性,還(hái)可以傳遞頻年一些不需要用戶輸入或不能(néng)讓用戶更改的貫穿若大一幹個網頁的量值
講解到位,很好(hǎo),,
GET方法可以在地址欄中顯示出來務雪,POST就(jiù)相對(duì)隐蔽