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 相關信息 關注與收藏我的頭條號 ~~後續文章會更精彩 也歡迎大家留言討論問題

Advertisements

你可能會喜歡