做自(zì)由與創造的先行者

處理(lǐ)表單

PHP中文(wén)手冊

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

示例 #1 一個簡單的 HTML 表單

<form action="action.php" method="post"%gt;

<p%gt;姓名: <input type="text" name="name" /%gt;</p%gt;

<p%gt;年齡: <input type="text" name="age" /%gt;</p%gt;

<p%gt;<input type="submit" /%gt;</p%gt;

</form%gt;

該表單中并沒有什(shén)麽特殊的地方,其中沒有使用(yòng)任何特殊的标識符。當用(yòng)戶填寫了(le)該表單并點擊了(le)提交按鈕,頁面 action.php 将被調用(yòng)。在該文(wén)件中,可以加入如下(xià)内容:

示例 #2 打印來(lái)自(zì)表單的數據

你(nǐ)好(hǎo),<?php echo htmlspecialchars($_POST['name']); ?%gt;。

你(nǐ) <?php echo (int)$_POST['age']; ?%gt; 歲了(le)。

該腳本的輸出可能(néng)是:

你(nǐ)好(hǎo),Joe。你(nǐ) 22 歲了(le)。

除了(le)htmlspecialchars() 和(hé) (int) 部分,這(zhè)段程序做什(shén)麽用(yòng)顯而易見。htmlspecialchars() 使得 HTML 之中的特殊字符被正确的編碼,從(cóng)而不會(huì)被使用(yòng)者在頁面注入 HTML 标簽或者 Javascript 代碼。例如 age 字段,我們明(míng)确知(zhī)道(dào)他(tā)是一個數值,因此我們将它轉換爲一個int來(lái)自(zì)動的消除任何不必要的字符。也(yě)可以使用(yòng) PHP 的 filter 擴展來(lái)自(zì)動完成該工(gōng)作(zuò)。PHP 将自(zì)動設置 $_POST['name'] 和(hé) $_POST['age'] 變量。在這(zhè)之前我們使用(yòng)了(le)超全局變量 $_SERVER,現(xiàn)在我們引入了(le)超全局變量 $_POST,它包含了(le)所有的 POST 數據。請(qǐng)注意我們的表單提交數據的方法(method)。如果使用(yòng)了(le) GET 方法,那麽表單中的信息将被儲存到(dào)超全局變量 $_GET 中。如果并不關心請(qǐng)求數據的來(lái)源,也(yě)可以用(yòng)超全局變量 $_REQUEST,它包含了(le)所有 GET、POST、COOKIE 和(hé) FILE 的數據。

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

網站(zhàn)建設開(kāi)發|APP設計(jì)開(kāi)發|小(xiǎo)程序建設開(kāi)發
下(xià)一篇:安裝前需要考慮的事(shì)項
上(shàng)一篇:實用(yòng)的腳本