實例講解php表單提交

怪我咯
發布: 2023-03-14 06:34:01
原創
1423 人瀏覽過

表單是網頁的最基本的單位。網站要實現用戶註冊、登入、搜尋功能、線上購物等等都離不開表單。利用PHP能夠非常簡單地獲得處理由HTML產生的資料。

php腳本在接收和處理表單資料時,需要使用特定的變數$_GET和$_POST這個兩個預先定義變數。這個兩個預定義變數是專門用來處理表單資料的。如果HTML表單使用的是get,則使用$_GET變量,如果是post,則使用$_POST。

$_GET和$POST除了是預先定義變量,還是數組和一個特殊變數類型。所以這個兩個變數包含了大量的值,所以需要使用透過鍵或索引來使用它。

這篇文章主要介紹了php表單提交實例,一個超簡單的適用於初學者者的php提交實例,有興趣的小夥伴們可以參考一下,具體的實作步驟如下:

實例程式碼如下:

<form action="someform.php" method="post"> 
<table width="541" border="0"> 
 <tr> 
 <td width="26%">姓名:</td> 
 <td width="74%"><input type="text" name="username" value="raymond" id="username"/></td> 
 </tr> 
 <tr> 
 <td>密码:</td> 
 <td><input type="password" name="password" maxlength="10" id="password"/></td> 
 </tr> 
 <tr> 
 <td>年龄:</td> 
 <td> 
  <select name="age"> 
  <option value=">16">小于16</option> 
  <option value="16-30" selected>16-30</option> 
  <option value="31-50">31-50</option> 
  <option value="51-80">51-80</option> 
  </select> 
 </td> 
 </tr> 
 <tr> 
 <td valign="top">自我介绍:</td> 
 <td><textarea name="intro" rows="3" cols="50" id="intro">请输入您的自我介绍</textarea></td> 
 </tr> 
 <tr> 
 <td><br /> 
体育爱好: </td> 
 <td><input type="radio" name="fave_sport" value="tennis" checked> 
网球 
 <input type="radio" name="fave_sport" value="football"> 
足球 
<input type="radio" name="fave_sport" value="baseball"> 
篮球 
<input type="radio" name="fave_sport" value="polo"> 
保龄球 </td> 
 </tr> 
 <tr> 
 <td> 开发语言:</td> 
 <td><input name="from" type="hidden" id="from" value="注册表单"> 
  <input type="checkbox" name="languages[]" value="php" checked id="languages[]"> 
php 
<input type="checkbox" name="languages[]" value="java" id="languages[]"> 
java 
<input type="checkbox" name="languages[]" value="perl" id="languages[]"> 
perl 
<input type="checkbox" name="languages[]" value="cpp" id="languages[]"> 
c++ 
<input type="checkbox" name="languages[]" value=".net" id="languages[]"> 
.NET 
<input type="checkbox" name="languages[]" value="delphi" id="languages[]"> 
delphi </td> 
 </tr> 
 <tr> 
 <td valign="top"><br> 
  <label> 开发工具:</label></td> 
 <td><select name="develop_ide[]" size="5" multiple id="develop_ide[]"> 
  <option value="ZDE" selected>Zend Studio</option> 
  <option value="Eclipse">Eclipse</option> 
  <option value="Editplus">Editplus</option> 
  <option value="Ultraedit">Ultraedit</option> 
  <option value="Other">Other</option> 
  </select></td> 
 </tr> 
 <tr> 
 <td valign="top"> </td> 
 <td><input type="submit" name="btn_submit" value="提交"/></td> 
 </tr> 
</table> 
</form>
登入後複製

此表單包含了常用表單元素:單行文字方塊、多行文本框、單選項(radio)、多選項(checkbox)以及多選選單。

下面進行詳細的說明:

maxlength是與密碼文字方塊關聯的屬性,它限制使用者輸入密碼的最大長度為10個字元。

age列錶框是清單選單,它的命名屬性下都有自己的值供選擇.selected是一個特定的屬性選擇元素,如果某個option附加有該屬性,在顯示時就把該項列為第一項顯示。

intro文字方塊中的內容,依照rows和cols顯示文字、行和列寬。

fave_sport是一組單選按鈕(radio),我們要按群組命名元素名稱,例如這一組單選按鈕都叫做fave_sport,用戶只可選擇一個,發送腳本端也只存在一個值。

和單選項一樣,所有多選項成員也須有同名的屬性,而屬性名稱需要添加括號[],這樣就把多選項的值以數組形式發送給PHP,languages就是這種形式。

checked標籤是指單選項和多選項中的某個值,預設已經被選擇.

上面表單的顯示畫面如圖所示

因為上面HTML中的form表單使用的是POST方法傳遞數據,所以使用者提交的資料會儲存到$_POST或$_REQUEST的超級全域數組中,我們根據$_POST數組中的值就可以處理提交的資料。

將上面表單中資料提交到someform.php腳本,該腳本的處理邏輯如下:

//通过判断按钮的变量名是否在$_POST中定义,如果有表示该表单已提交 
if(isset($_POST["btn_submit"])){ 
if (emptyempty($_POST[&#39;username&#39;])){ 
echo "您没有输入用户名"; 
exit(0); 
} 
if (emptyempty($_POST[&#39;password&#39;])){ 
echo "您没有输入密码: "; 
exit(0); 
} 
echo "您的用户名: ".$_POST[&#39;user_name&#39;]." 
"; 
echo "您的密码(明文): ".$_POST[&#39;password&#39;]." 
"; 
echo "您的年龄: ".$_POST[&#39;age&#39;]." 
"; 
if (!emptyempty($_POST[&#39;languages&#39;])){ 
echo "您选择的语言为:"; 
//处理用户选择兴趣的checkbox按钮产生的数组 
foreach ($_POST[&#39;languages&#39;] as $lang){ 
echo $lang. " "; 
} 
} else { 
echo "您没有输入任何兴趣爱好"; 
} 
if (!emptyempty($_POST[&#39;develop_ide&#39;])){ 
echo "您使用的开发工具为:"; 
//处理用户多选开发工具菜单产生的数组 
foreach ($_POST[&#39;develop_ide&#39;] as $ide){ 
echo $ide. " "; 
} 
} else { 
echo "您没有选择开发工具"; 
} 
echo "您的自我介绍: ".nl2br($_POST[&#39;intro&#39;])."<br />";//nl2br(),在字符串中的每个新行 (n) 之前插入 HTML 换行符 (<br />) 
"; 
echo "网页隐藏值(通过hidden标签值传递): ".$_POST[&#39;from&#39;]." 
"; 
} 
?>
登入後複製

以上是實例講解php表單提交的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板