1
2
3
4
5
6
7
8
9
10
11

$_POST和$_GET數組

發(fā)布時(shí)間:2017-07-20 08:01&花房nbsp;  風雨 發(fā)布人:毛書朋&nbs新件p;  浏覽次數:日微7102


關聯課件: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)所示。

6-1.1.jpg

(a)初次浏覽的頁面(miàn)厭票     

6-1.2.jpg

(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)所示。

6-2.1.png

(a)初次浏覽頁面(miàn)時(shí)的運行結土影果的運行結果

6-2.2.jpg

(b)單擊“顯示圖片”時(shí)的運行結習爸果

6-2.3.jpg

(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)讓用戶更改的貫穿若幹個網頁的量值。



  • 王春雷 2018-01-07 17:03:09
    GET和POST是由HTTP協議定義的。在HTTP協議我日中,Method和Data(URL, Body, Header)是得的正交的兩(liǎng)個概念,也就(唱區jiù)是說(shuō),使用哪黑機個Method與應用層的數據如何傳有錯輸是沒(méi)有相互關系的。
  • 馬文琦 2018-01-09 16:18:25
    GET方法可以在地址欄中顯示出來,POST現金就(jiù)相對(duì)隐蔽商東
  • 甄丹丹 2018-01-09 16:36:00
    GET方法可以在地址欄中顯示出來,也就(jiù)是比較暴露,存在又睡著(zhe)安全隐患,而POST方法則比較隐水房蔽,特别是隐藏表單的使用,不僅可以增森爸加程序的安全性,還(hái)可以傳遞頻年一些不需要用戶輸入或不能(néng)讓用戶更改的貫穿若大一幹個網頁的量值
  • 潘龍飛 2018-01-09 17:57:29
    講解到位,很好(hǎo),,
  • 班榮芳 2018-01-10 12:04:16體新
    GET方法可以在地址欄中顯示出來務雪,POST就(jiù)相對(duì)隐蔽