PHP入門讀書筆記(十六):WEB頁面使用PHP

Web表單主要用來在網頁中傳送資料到伺服器,經過程式處理中,將使用者所需要的資訊再傳遞給客戶端的瀏覽器上。這樣就形成了一個瀏覽者和網站之間的一個互動。

PHP入門讀書筆記(十六):WEB頁面使用PHP

一、表單的提交方式

。。。

GET 提交或者GET()方法是將表單內容附加在URL後面的傳送。在位址列上的將會顯示”“URL+使用者傳遞的資料”組成一個大URL。URL和表單元素直接使用逗號“?”隔開的。多個表單元素用“&”隔開,每個表單元素的格式是name=value。注意大URL的長度限制在1M字元以內,資料量太大資料將會被截斷,從而導致意外的處理結果。

POST 提交或者POST()方法是將將表單的資訊作為一個數據塊傳送到伺服器,在瀏覽器的位址列不顯示提交的資訊。提交方式有表單的method屬性,預設是GET()方法。表單的action是指向處理該表單頁面的URL(相對位置或者絕對位置)

二、表單元素

一個表單裡面就是表單元素。表單元素主要有輸入域標記()、選擇域標記(

name表示文字域的名稱,cols表示文字域的列數,rows表示文字域的行數,value表示文字域的預設值。warp使用者設定顯示和送出時的換行方式。warp=”off” 表示不自動換行,warp=”hard” 表示自動硬回車換行,換行標記一同傳送到伺服器,輸出的時候也會被換行。warp=”soft”表示自動軟回車換行,換行標記不會被髮送到伺服器,輸出時候仍然為一列。

PHP入門讀書筆記(十六):WEB頁面使用PHP

三、PHP引數傳遞的常用方法

php引數傳遞常用的方法有:$_POST[]、$_GET[]、$_SESSION[],分別使用者獲取表單,URL與session變數的值。

1、$_POST[] 全域性變數

可以獲取到POST()方法提交過來的表單元素的值。

格式:$_POST[name]

name 為表單元素的name

<?php//省略建立表單,文字框的name為username,method 是 POST$username = $_POST[“username”];?>

注意:在有些php版本中,可以直接$username就可以指定表單的值。這是可以透過設定php。ini的register_globals=ON/OFF。如果是ON,可以直接寫成$username,反之則不可以。這裡不建議設定為ON,推薦使用register_globals=OFF。

2、$_GET[] 全域性變數

可以獲取到GET()方法提交過來的表單元素的值。

格式:$_GET[name]

name 為表單元素的name

<?php//省略建立表單,文字框的name為username ,method是 GET$username = $_GET[“username”];?>

不管是$_GET[]還是$_POST[]獲取表單元素的值,表單元素的名稱是區別字母大小寫的。疏忽了大小寫,程式允許有可能取不到值或者彈出錯誤的提示資訊。

3、$_SESSION[] 變數

$_SESSION[] 可以獲取表單元素的值。

格式:$_SESSION[name]

name為表單元素的name。

<?php//省略建立表單,文字框的name為username$username = $_SESSION[“username”];?>

該方法獲取到的變數值,儲存之後任何頁面都可以使用,這種方式很耗費系統資源,是要慎重使用的。

四、在WEB頁面中嵌入PHP指令碼

1、在html頁面中新增php指令碼

·web頁面中隨時新增<?php 。。。 ?> 標記,這兩個標記中間的文字都會被解釋為php,標記之外的任何文字都將被認為是普通的html

2、對錶單元素的value賦值

只需將所需要賦值的資料直接新增到value資料中。

<?php$val = “123456”; //定義一個$val 的值?>” />

PHP入門讀書筆記(十六):WEB頁面使用PHP

五、對URL傳遞的引數進行編碼/解碼

1、對URL傳遞的引數進行編碼。

前面我們說道GET()方法提交的就是一個長URL,表單資料都在URL裡。

如:

http://url?username=admin&password=123456

很明顯這樣的傳遞會將引數暴露問題,所以必須對URL傳遞的引數進行編碼。

語法格式:string urlencode(string str);

實現了字串str的url編碼。比如引數中帶有空格,進行編碼後空格會被換成%20。

”> 我是中文的字串 瀏覽器位址列:http://localhost/index。php?id=%CE%D2%CA%C7%D6%D0%CE%C4%B5%C4%D7%D6%B7%FB%B4%AE檢視原始碼: 我是中文的字串

2、對URL傳遞的引數進行解碼

對已經URL編碼過的字串,在$_GET[]方法獲取的時候則還需要進行解碼才能知道原來的值。

語法格式:strIng urldecode(string str);

實現了字串在URL編碼後的str字串進行解碼。

”> 我是中文的字串  <?php$str = $_GET[“id”];$str2 = urldecode($str);echo “解碼後Id:”。$str2;?>瀏覽器位址列:http://localhost/index。php?id=%CE%D2%CA%C7%D6%D0%CE%C4%B5%C4%D7%D6%B7%FB%B4%AE檢視原始碼: 我是中文的字串 頁面輸出:我是中文的字串解碼後Id:我是中文的字串

明天我們來看看php和javascript的互動。