PHP進階(一) ——表單處理
祝大家狗年汪汪汪
最近忙於過年沒來得及更新,對不住各位朋友們了~~提前祝大家新年快樂
前面介紹了PHP很多知識了 ,相信你對PHP有了一定的簡單認識,今天我們介紹下 PHP的表單處理。
表單是網頁的最基本的單位。網站要實現用戶註冊、登錄、搜索功能、在線購物等等都離不開表單。利用PHP能夠非常簡單地獲得處理由HTML生成的數據。
表單創建是HTML的知識,本文不深入地涉及。只重點說一下與PHP相關的表單屬性。
表單的與PHP相關聯的屬性
action屬性指向處理表單的PHP腳本。
method屬性接受兩個參數,post/get;
post與get的差異
1、get會公開地將用戶輸入表單的信息發送給php腳本,不安全;
Advertisements
2、get傳送的信息有限。
3、使用get方式的表單創建的頁面能夠被添加為書籤,post不可以。
4、重載post訪問的頁面,會顯示提示信息,get不會。
所以get主要用於從伺服器強求數據的行為例如,搜索請求等,post用於觸發伺服器的行為,例如用戶登錄、註冊等敏感信息。
使用PHP接收表單數據
php腳本在接收和處理表單數據時,需要使用特定的變數$_GET和$_POST這個兩個預定義變數。這個兩個預定義變數是專門用於處理表單數據的。如果HTML表單使用的是get,則使用$_GET變數,如果是post,則使用$_POST。
$_GET和$POST除了是預定義變數,還是數組和一個特殊變數類型。所以這個兩個變數包含了大量的值,所以需要使用通過鍵或者索引來使用它。
Advertisements
$something=$_POST["something"];
print "thinks for you $something ";
這裡要嚴格按照標量書寫要求進行書寫,同時$_POST的變數的索引必須同表單的name值匹配。
HTML表單必須要和處理他的php腳本在同一個目錄下。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<link rel="stylesheet" href="">
</head>
<body>
<form action="my_register.php" method="post">
<p>完成表單后在提交:</p>
<p>
<select name="sex" >
<option value="Mr">Mr</option>
<option value="Mrs">Mrs</option>
<option value="Ms">ms</option>
</select>
<input type="text" name="name"/>
</p>
<p>郵箱:<input type="text"name="Email"/></p>
<p>選擇:
<input type="radio" name="response" value="優"/>優
<input type="radio" name="response" value="良"/>良
<input type="radio" name="response"value="合格"/>合格</p>
<p>評論:<textarea name="comments" cols="40"rows="10"></textarea></p>
<p><input type="submit" name="submit"value="提交"/></p>
</form>
</body>
</html>
上面代碼在瀏覽器的顯示
php腳本
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<link rel="stylesheet" href="">
</head>
<body>
<?php
$sex=$_POST['sex'];
$name=$_POST['name'];
$Email=$_POST['Email'];
$Response=$_POST['response'];
$comments=$_POST['comments'];
print "謝謝您,$sex $name,你給我我們的評論是'$Response',評論內容是:<br/>$comments";
?>
</body>
</html>
執行后的結果
調試PHP腳本
默認情況下,php是不不顯示任何錯誤提示,在使用文本編輯器打開php文件夾下的php.ini文件中的display_errors設置成on,或者在你的PHP腳本的中添加ini_set('display_errors',1)來臨時開啟錯誤提示。XAMPP是默認開啟的
error_reporting(0),不顯示任何錯我;
error_reporting(E_ALL),報告所有錯誤;
error_reporting(E_ALL & ~E_NOTICE),看到notice之外的所有錯誤。
error_reporting(ALL | E_STRICT),顯示所有錯誤信息。
向頁面發送數據
表單使用get方法向伺服器請求數據時,php腳本需要使用$_GET變數。和$_POST變數一樣,$GET方法也需要引用一個特殊的索引。
下面的例子你可以自己嘗試
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<link rel="stylesheet" href="">
</head>
<body>
<a href="my_register.php?name=dding">dding</a>
<a href="my_register.php?name=wwang">wwang</a>
<a href="my_register.php?name=zhang">zhang</a>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title></title>
<link rel="stylesheet" href="">
</head>
<body>
<?php
$name=$_GET['name'];
print "Hello,<spanstyle=\"font-size:18px;color:red;\">$name</span> ";
?>
</body>
</html>
好了今天介紹了 html表單與php結合 ,現在你可以自己做一個簡單的動態網站了~只不過你還不能保存用戶信息 下一節介紹SESSION 相關信息 關注與收藏我的頭條號 ~~後續文章會更精彩 也歡迎大家留言討論問題