




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第7章PHP與Web頁面交互7.1表單數據采集7.2綜合實訓案例第7章PHP與Web頁面交互學習目的與要求掌握PHP程序提取網頁中數據的方法思考???如何提取login.html中用戶輸入的內容呢?Login.html核心代碼<formmethod="POST"action="">用戶名:<inputtype="text"name="login_name"/><br/>密碼:<inputtype="password"name="login_password"/><br/><inputtype="submit"value="提交"name="B1"><inputtype="reset"value="重置"name="B2"></form>7.1表單數據采集7.1.1表單1.表單屬性表單常用的屬性有:name、id、title、action、method、enctype等。表單屬性的描述如表所示。屬
性說
明name表單的名稱id表單的id號title表單的標題method表單數據提交的方式,包括GET和POST兩種方式,默認為GETaction將表單中的數據“提交”的目的地址。若為空,則提交給當前文件enctype設置提交表單數據時的編碼方式,包括multipart/form-data和application/x-www-form-urlencoded。若表單中存在文件上傳框,必須將enctype屬性設置為multipart/form-datatarget用來指定目標窗口思考???如何提取login.html中用戶輸入的內容呢?創建login.php頁面---去提取Login.php<?php echo"用戶名:",$_POST["login_name"],"<br/>";echo"密碼:",$_POST["login_password"],"<br/>";?>login.html中關聯login.php<formmethod="POST"action=“login.php">用戶名:<inputtype="text"name="login_name"/><br/>密碼:<inputtype="password"name="login_password"/><br/><inputtype="submit"value="提交"name="B1"><inputtype="reset"value="重置"name="B2"></form>7.1.2表單控件表單創建完成后,就可以在表單標簽<form>和</form>之間添加表單控件來采集瀏覽器的數據。表單控件包括:文本框、文本域、復選框、單選按鈕、文件上傳框和下拉列表框等。1.文本框文本框是一種讓用戶輸入內容的表單控件,通常用來輸入簡單的單行信息,如用戶名、郵箱地址、登錄密碼等。代碼格式:<inputtype="text"name="…"size="…"maxlength="…"value="…"/>文本框的屬性說明如表所示。屬
性說
明type定義文本框的類型。值可以取text、password。若為text,則顯示輸入的內容;若為password,則輸入的內容均顯示為*,一般應用于輸入登錄密碼name文本框的名稱size定義文本框的寬度,默認為20maxlength定義輸入字符的最大數量value文本框顯示的初始值【實例7-2】PHP程序采集文本框的數據。
創建靜態網頁文件text.html,在文件中創建表單標簽,并在表單標簽內添加兩個文本框控件。文本框控件的屬性如表所示。屬
性文本框1文本框2typetextpasswordnamelogin_namelogin_passwordsize2020maxlength2020text.html文件代碼如下:<html><head><metahttp-equiv="Content-Language"content="zh-cn"></head><body><formmethod="POST"action="login.php"> <p>用戶名:<inputtype="text"name="login_name"size="20"maxlength="20"/></p> <p>密碼:<inputtype="password"name="login_password"size="20"maxlength="20"/></p> <p><inputtype="submit"value="提交"name="B1"><inputtype="reset"value="重置"name="B2"></p></form></body></html>text.html文件打開后,分別在兩個文本框內輸入用戶名和密碼,最后再單擊“提交”按鈕,如圖所示。創建login.php,用于接收text.html文件中文本框控件的數據,程序代碼如下:<?php header("Content-Type:text/html;charset=gb2312"); echo"用戶名:",$_POST["login_name"],"<br/>"; echo"密碼:",$_POST["login_password"],"<br/>";?>2.文本域文本域是一種多行的文本框,能夠讓用戶輸入較長的文字信息。代碼格式如下:<textareaname="…"cols="…"rows="…">content</textarea>文本域的屬性說明如表所示。屬
性說
明name文本域的名稱cols定義文本域的寬度rows定義文本域的高度content定義文本域顯示的文字內容思考:
下面文本域中的內容如何提取?【實例7-3】PHP程序采集文本域的數據。
創建靜態網頁文件textarea.html,在文件中創建表單標簽,并在表單標簽內添加一個文本域控件。文本域控件的屬性如表所示。屬
性屬性值nametextcols20rows14textarea.html文件代碼如下:<html><head><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"><title>文本區實例</title></head><body><formmethod="POST"action="show_text.php"> <textareaname="text"cols="60"rows="14"></textarea><br><inputtype="submit"value="提交"name="B1"><inputtype="reset"value="重置"name="B2"></form></body></html>textarea.html文件打開后,在文本域內輸入字符,最后再單擊“提交”按鈕,如圖所示。創建show_text.php,用于接收textarea.html文件中文本域控件的數據,程序代碼如下:<?php$content=$_POST["text"];echo$content;?>思考:
下面復選框中的內容如何提取?3.復選框復選框用來在瀏覽器上為用戶提供一些選項,用戶可從中任意選擇。其代碼格式如下:<inputtype="checkbox"name="…"value="…"[checked]/>屬
性說
明name定義復選框的名稱value定義復選框的值checked可選。定義初始狀態下復選框是否被選中【實例7-4】PHP程序采集復選框的數據。
創建網頁文件checkbox.html,在文件中創建表單標簽,并在表單標簽內添加三個復選框控件。復選框控件的屬性如表所示。屬
性復選框1復選框2復選框3namechk1chk2chk3value音樂旅游體育checkbox.html文件代碼如下:<html><head><metahttp-equiv="Content-Language"content="zh-cn"><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"><title>復選框實例</title></head><body><formmethod="POST"action="show_checkbox.php"><inputtype="checkbox"name="chk1"value="音樂">音樂<p><inputtype="checkbox"name="chk2"value="旅游">旅游<p><inputtype="checkbox"name="chk3"value="體育">體育<p><inputtype="submit"value="提交"name="B1"><inputtype="reset"value="重置"name="B2"> </form></body></html>checkbox.html文件打開后在復選框間任意選擇,最后再單擊“提交”按鈕。創建show_checkbox.php,用于接收checkbox.html中復選框控件chk1、chk2、chk3的數據,程序代碼如下:<?phpheader("Content-Type:text/html;charset=gb2312");if(isset($_POST["chk1"]))//判斷是否傳遞了chk1的值
echo"你選擇了".$_POST["chk1"]."<br/>";if(isset($_POST["chk2"]))//判斷是否傳遞了chk2的值
echo"你選擇了".$_POST["chk2"]."<br/>";if(isset($_POST["chk3"]))//判斷是否傳遞了chk3的值echo"你選擇了".$_POST["chk3"]."<br/>";?>另外一種方法-------復選框以數組命名的方式【實例7-5】復選框以數組命名的方式來傳遞數據。
創建網頁文件checkbox.html,在文件中創建表單標簽,并在表單標簽內添加三個復選框控件。復選框控件的屬性如表所示。屬
性復選框1復選框2復選框3nameChk[]Chk[]Chk[]value音樂旅游體育checkbox.html文件代碼如下:<html><head><metahttp-equiv="Content-Language"content="zh-cn"><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"><title>復選框實例</title></head><body><formmethod="POST"action="show_checkbox.php"><inputtype="checkbox"name="chk[]"value="音樂">音樂<p><inputtype="checkbox"name="chk[]"value="旅游">旅游<p><inputtype="checkbox"name="chk[]"value="體育">體育<p><inputtype="submit"value="提交"name="B1"><inputtype="reset"value="重置"name="B2"> </form></body></html>創建show_checkbox.php,用于接收checkbox.html中復選框控件的數據,程序代碼如下:<?phpheader("Content-Type:text/html;charset=gb2312");for($i=0;$i<count($_POST["chk"]);$i++){ echo"你選擇了".$_POST["chk"][$i];}?>思考:
下面單選按鈕中的內容如何提取?4.單選按鈕單選按鈕是在瀏覽器上讓用戶在若干個選項中選擇其中一個項目。其代碼格式如下:<inputtype="radio"name="…"value="…"[checked]/>屬
性說
明name定義單選按鈕的名稱value定義單選按鈕的值checked可選。定義初始狀態下單選按鈕是否被選中【實例7-6】PHP程序采集單選按鈕的數據。創建網頁文件radio.html,在文件中創建表單標簽,并在表單標簽內添加三個單選按鈕控件。單選按鈕控件的屬性如表所示。屬
性單選按鈕1單選按鈕2單選按鈕3nameradio1radio1radio1value北京上海廣州radio.html文件代碼如下:<html><head><metahttp-equiv="Content-Language"content="zh-cn"><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"><title>單選鈕實例</title></head><body><formmethod="POST"action="show_radio.php"><inputtype="radio"name="radio1"value="北京">北京<p><inputtype="radio"name="radio1"value="上海">上海<p><inputtype="radio"name="radio1"value="廣州">廣州<p><inputtype="submit"value="提交"name="B1"><inputtype="reset"value="重置"name="B2"> </form></body></html>radio.html文件打開后在單選按鈕間任選一項,最后再單擊“提交”按鈕。創建show_radio.php,用于接收radio.html中單選按鈕控件的數據,程序代碼如下:<?phpheader("Content-Type:text/html;charset=gb2312");if(isset($_POST["radio1"]))echo"你選擇了".$_POST["radio1"]."<br/>";?>提示:●具有相同名稱的單選按鈕為一組,一組單選按鈕中只能選擇一項。
●若單選按鈕中初始狀態下有一個處于選中狀態,則在PHP程序中可以不
使用isset()函數;若初始狀態下沒有單選按鈕處于選中狀態,則在PHP
程序中必須使用isset()函數來判斷單選按鈕的值是否被傳遞過來。思考:
下面下拉列表中的內容如何提取?5.下拉列表框下拉列表框是讓用戶在一系列下拉選項中選擇項目的控件,分為單選下拉列表框和多選下拉列表框。其代碼格式如下:<selectname="…"size="…"[multiple]><optionvalue="…"[selected]>…</option><optionvalue="…">…</option>
…</select>下拉列表框的屬性說明如表所示。屬
性說
明name定義下拉列表框的名稱size定義下拉列表框的高度multiple可選。定義下拉列表框是單選還是多選,默認為單選。當為多選時,在按住Ctrl鍵的同時,單擊選擇項可進行多選,或者按住Shift鍵單擊連續多選value定義下拉列表框每個選項的值,若沒有定義該屬性,則選項的值為<option>和</option>之間的內容selected可選。定義下拉列表框的選項在初始狀態下是否為選中狀態,一個下拉列表框中只能有一個選項處于選中狀態【實例7-7】用PHP程序采集下拉列表框的數據。
創建網頁文件list.html,在文件中創建表單標簽,并在表單標簽內添加一個下拉列表框控件。下拉列表框控件的屬性如表所示。屬
性屬性值namelist1size5valueVisualBasic,PHP,C語言list.html文件代碼如下:<html><head><metahttp-equiv="Content-Language"content="zh-cn"><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"><title>單選鈕實例</title></head><body><formmethod="POST"action="show_list.php"><selectsize="5"name="list1"> <optionvalue="VisualBasic">VisualBasic</option> <optionvalue="PHP">PHP</option> <optionvalue="C語言">C語言</option> </select></br> <inputtype="submit"value="提交"name="B1"> <inputtype="reset"value="重置"name="B2"></form></body></html>list.html文件打開后在下拉列表框中任選一項,最后再單擊“提交”按鈕,如圖所示。創建show_list.php,用于接收list.html中下拉列表框控件的數據,程序代碼如下:<?phpheader("Content-Type:text/html;charset=gb2312");echo"你選擇了".$_POST["list1"]."<br/>";?>提示:
當下拉列表框為多選時,可以將下拉列表框的name定義為數組形式。在PHP程序中采用數組的方式采集下拉列表框的數據,此時list.html文件中下拉列表框的定義語句可以寫為
<selectsize="5"name="list1[]"multiple>
則PHP程序代碼可以寫為
<?phpheader("Content-Type:text/html;charset=gb2312");echo"你選擇了:<br/>";for($i=0;$i<count($_POST["list1"]);$i++)echo$_POST["list1"][$i]."<br/>";?>思考:
下面文件選擇按鈕選擇的內容如何提取?6.文件上傳框文件上傳框是用戶在上傳文件時用來選擇文件的控件。其代碼格式如下:<inputtype="file"name="…"size="…"maxlength="…"/>屬
性說
明name定義文件上傳框的名稱size可選。定義文件上傳框的寬度maxlength可選。定義文件上傳框最多輸入的字符數【實例7-8】用PHP程序采集文件上傳框的數據。
創建網頁文件file.html,在文件中創建表單標簽,并在表單標簽內添加一個文件上傳框控件。文件上傳框控件的屬性如表所示。屬
性說
明namemy_filesize40maxlength100file.html文件代碼如下:<html><head><metahttp-equiv="Content-Language"content="zh-cn"><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"></head><body><formmethod="POST"action="show_file.php"><inputtype="file"name="my_file"size="40"maxlength="100"></br><inputtype="submit"value="提交"name="B1"><inputtype="reset"value="重置"name="B2"></form></body></html>創建show_file.php,用于接收file.html中文件上傳控件的數據,程序代碼如下:<?php header("Content-Type:text/html;charset=gb2312"); echo"你選擇的文件是:<br/>"; echo$_POST["my_file"];?>提示:●每個文件上傳框只能選擇一個文件。
●使用文件上傳框上傳文件時,表單標簽<form>的enctype屬性值必須設
置為multipart/form-data,method屬性必須設置為POST提交方式,即
<formmethod=“POST”enctype=“multipart/form-data”action=“”>。
PHP程序上傳文件的代碼將在第12章中詳細列出。補充-----思考???-----別的提取方式??如何提取login.html中用戶輸入的內容呢?創建login.php頁面---去提取login.php----GET方式提取可以嗎?<?php echo"用戶名:",$_GET["login_name"],"<br/>";echo"密碼:",$_GET["login_password"],"<br/>";?>Login.html核心代碼---GET方式<formmethod=“GET"action="">用戶名:<inputtype="text"name="login_name"/><br/>密碼:<inputtype="password"name="login_password"/><br/><inputtype="submit"value="提交"name="B1"><inputtype="reset"value="重置"name="B2"></form>表單向服務器提交數據的方式有2種方式(1)POST方式
-----提取值時,用$_POST[](2)GET方式
-----提取值時,用$_GET[]POST、GET方式的區別?????POST、GET方式的區別區別主要有2點:(1)GET方式傳遞的參數會出現在網址欄,而POST方式不會。(2)當要傳遞大量數據,如圖片、視頻等,POST方式才能勝任,GET方式適合傳遞少量數據。登錄頁面適合采用哪種方式呢?別的例子也可以用GET方式嗎?7.2綜合實訓案例本節主要介紹用戶注冊頁面的設計方法和步驟。1.分析創建靜態網頁文件register.html,包含一個form表單,添加用于注冊信息的控件,控件的屬性如表所示。控件類型屬
性說
明文本框name=user_nametype=text用戶名稱文本框name=password1type=password登錄密碼文本框name=password2type=password確認密碼單選按鈕Name=sextype=radio性別復選框Name=interests[]type=checkbox個人愛好文本域Name=remark備注register.html頁面打開后,用戶依次輸入注冊信息,最后單擊“提交”按鈕即可,如圖所示。創建PHP程序文件upload_register.php,用來接收register.html頁面傳遞過來的數據。程序運行結果如圖所示。2.程序代碼register.html程序代碼如下:<html><head><metahttp-equiv="Content-Language"content="zh-cn"><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"><title>用戶注冊</title></head><body><formaction="upload_register.php"method=post><palign="center">用戶注冊<br/>用戶名:<inputtype="text"name="user_name"size="20"><br/>登錄密碼:<inputtype="password"name="password1"size="20"><br/>確認密碼:<inputtype="p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中外廣告史試題及答案
- 中醫方劑學試題及答案
- 學海大聯考2024-2025學年高二下生物期末預測試題含解析
- 車輛維修延誤損失賠償合同
- 智能制造廠房建設與運營維護合同集
- 2024年內蒙古蒙發能源控股集團招聘筆試真題
- 中介簽署的二手房買賣合同新的內容(31篇)
- 有關合資經營合同模板集錦(16篇)
- 供電指揮復習試題及答案
- 防斷復習試題含答案
- 浙江省寧波市鎮海中學2025年5月第二次模擬考試 英語試卷+答案
- 2024年安徽省淮南市田家庵區小升初數學試卷(空白卷)
- 航海英語閱讀與寫作能力測試考核試卷
- 環境設計人才培養方案
- 龍巖市2025年高中高三畢業班五月教學質量檢政治試卷(含答案)
- 巴黎奧運會試題及答案
- 城市道路交通標志和標線設置規范
- 高二語文期末復習重點知識歸納總結
- 大數據與商業決策的應用試題及答案
- 銀行業務外包合同
- 展覽館展示中心項目可行性研究報告
評論
0/150
提交評論