當(dāng)前位置: 首頁(yè)編程開(kāi)發(fā)PHP → PHP處理表單的方法 超全局變量 $_POST

PHP處理表單的方法 超全局變量 $_POST

更多

PHP 一個(gè)很有用的特點(diǎn)體現(xiàn)在它處理 PHP 表單的方式。需要理解的非常重要的原理,是表單的任何元素都在 PHP 腳本中自動(dòng)生效。請(qǐng)參閱本手冊(cè)中“PHP 的外部變量”以獲取關(guān)于在 PHP 中使用表單的詳細(xì)信息及范例。以下是 HTML 表單的范例:

 

Example #1 一個(gè)簡(jiǎn)單的 HTML 表單

<form action="action.php" method="post">  <p>姓名: <input type="text" name="name" /></p>  <p>年齡: <input type="text" name="age" /></p>  <p><input type="submit" /></p> </form> 

 

該表單中并沒(méi)有什么特殊的地方,其中沒(méi)有使用任何特殊的標(biāo)識(shí)符。當(dāng)用戶填寫(xiě)了該表單并點(diǎn)擊了提交按鈕,頁(yè)面 action.php 將被調(diào)用。在該文件中,可以加入如下內(nèi)容:

 

Example #2 打印來(lái)自表單的數(shù)據(jù)

你好,<?php echo htmlspecialchars($_POST['name']); ?>。
你 <?php echo (int)$_POST['age']; ?> 歲了。

該腳本的輸出可能是:

你好,Joe。你 22 歲了。 

 

Apart from the htmlspecialchars() and (int) parts, it should be obvious what this does. htmlspecialchars() makes sure any characters that are special in html are properly encoded so people can't inject HTML tags or Javascript into your page. For the age field, since we know it is a number, we can just convert it to an integer which will automatically get rid of any stray characters. You can also have PHP do this for you automatically by using the filter extension. PHP 將自動(dòng)設(shè)置 $_POST['name'] 和 $_POST['age'] 變量。在這之前我們使用了超全局變量 $_SERVER,現(xiàn)在我們引入了超全局變量 $_POST,它包含了所有的 POST 數(shù)據(jù)。請(qǐng)注意我們的表單提交數(shù)據(jù)的方法(method)。如果使用了 GET 方法,那么表單中的信息將被儲(chǔ)存到超全局變量 $_GET 中。如果并不關(guān)心請(qǐng)求數(shù)據(jù)的來(lái)源,也可以用超全局變量 $_REQUEST,它包含了所有 GET、POST、COOKIE 和 FILE 的數(shù)據(jù)。請(qǐng)參閱 import_request_variables() 函數(shù)。

也可以在 PHP 中處理 XForms 的輸入,盡管可能更喜歡使用長(zhǎng)久以來(lái)支持良好的 HTML 表單。XForms 目前還不適合初學(xué)者使用,但是用戶可能對(duì)它感興趣。手冊(cè)中在“特點(diǎn)”一章有一節(jié)對(duì)如何處理從 XForum 接收到的數(shù)據(jù)進(jìn)行了簡(jiǎn)短的介紹。

熱門(mén)評(píng)論
最新評(píng)論
發(fā)表評(píng)論 查看所有評(píng)論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)