版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
9.1創(chuàng)建和編輯表單
Web表單的功能是讓瀏覽者和網(wǎng)站有一個互動的平臺,主要用來在網(wǎng)頁中發(fā)送數(shù)據(jù)到服務器。例如,提交注冊信息時,當用戶填寫完信息后執(zhí)行提交操作,將表單中的數(shù)據(jù)從客戶端的瀏覽器傳送到服務器端,經(jīng)過服務器端PHP程序進行處理后,再將用戶所需要的信息傳遞回客戶端的瀏覽器上,從而獲取用戶信息,使PHP與Web表單實現(xiàn)交互。9.1.1 創(chuàng)建表單表單是使用<form></form>標簽來創(chuàng)建并定義表單的開始和結(jié)束位置,中間包含多個元素,表單結(jié)構如下:下一頁返回9.1創(chuàng)建和編輯表單
<form>標記的屬性見表9-1。9.1.2 添加表單元素表單(form)由表單元素組成。常用的表單元素有以下幾種標記:輸入域標簽<input>、選擇域標簽<select>和<option>,文本域標簽<textarea>等,下面分別進行介紹。1.輸入域標簽<input>輸入域標簽<input>是表單中最常用的標記之一。常用的文本域、按鈕、單選按鈕、復選框等構成一個完整的表單。其語法格式如下:上一頁下一頁返回9.1創(chuàng)建和編輯表單
其中參數(shù)name是指輸入域的名稱,參數(shù)type是指輸入域的類型,參數(shù)id是指輸入域的ID。在<inputtype="">標簽中一共提供了10種類型的輸入域,用戶所選擇使用的類型有type屬性指定。type屬性取值見表9-2。2.選擇域標簽<select>和<option>通過選擇域標簽<select>和<option>可以建立一個列表或菜單。菜單節(jié)省空間,正常狀態(tài)下只能看到一個選項,單擊按鈕打開菜單后才能看到全部的選項。列表可以顯示一定數(shù)量的選項,如果超出了這個數(shù)量,會自動出現(xiàn)滾動條,瀏覽者可以通過拖動滾動條來查看各選項。其語法格式如下:上一頁下一頁返回9.1創(chuàng)建和編輯表單
其中參數(shù)name表示選擇域的名稱,參數(shù)size表示列表的行數(shù),參數(shù)value表示菜單選項值,參數(shù)multiple表示以菜單方式顯示數(shù)據(jù),省略則以列表方式顯示數(shù)據(jù)。選擇域標簽<select>和<option>的顯示方式見表9-3。3.文本域標簽<textarea>文本域標簽<textarea>用來制作多行的文本域,可以在其中輸入更多的文本。其語法格式如下:上一頁下一頁返回9.1創(chuàng)建和編輯表單
其中,參數(shù)name表示文本域的名稱,rows表示文本域的行數(shù)(字符為單位),cols表示文本域的列數(shù)(字符為單位)。warp用于設定顯示和送出時的換行方式,值為off標識不自動換行;值為hard表示自動按Enter鍵換行,換行標記一同被發(fā)送到服務器,輸出時也會換行;值為soft表示自動按Enter鍵換行,換行標記不會被發(fā)送到服務器,輸出時仍然為一列。【例9-1】下面創(chuàng)建一個表單,表單元素包含文本域、單選按鈕、復選框、下拉列表和提交按鈕等,具體代碼如下:上一頁下一頁返回9.1創(chuàng)建和編輯表單
上一頁下一頁返回9.1創(chuàng)建和編輯表單
上一頁下一頁返回9.1創(chuàng)建和編輯表單
上一頁下一頁返回9.1創(chuàng)建和編輯表單
上一頁下一頁返回9.1創(chuàng)建和編輯表單
上述表單創(chuàng)建的界面效果如圖9-1所示。上一頁下一頁返回9.1創(chuàng)建和編輯表單
9.1.3 定義表單數(shù)據(jù)提交方式表單數(shù)據(jù)的提交方式有兩種,即POST方法和GET方法。設置表單提交數(shù)據(jù)的方法非常簡單,只需設置<form>表單中俄method屬性值即可,如下所示:這兩種方法在Web頁面的應用上有著本質(zhì)的不同,下面分別對這兩種方法進行介紹。上一頁下一頁返回9.1創(chuàng)建和編輯表單
1.POST方法POST方法不依賴于URL,不會將傳遞的參數(shù)值顯示在地址欄中。另外,POST方法可以沒有限制地傳遞數(shù)據(jù)到服務器,所有提交的信息在后臺傳輸,用戶在瀏覽器端是看不到這一過程的,安全性高。所以,POST方法比較適合用于發(fā)送一個保密的(如銀行卡號)或者大量的數(shù)據(jù)到服務器?!纠?-2】下面使用POST方法提交表單信息到服務器,HTML代碼如下:上一頁下一頁返回9.1創(chuàng)建和編輯表單
執(zhí)行程序,輸入卡號,單擊“提交”按鈕,運行結(jié)果如圖9-2所示。2.GET方法GET方法是<form>表單中method屬性的默認方法。是用GET方法提交的表單數(shù)據(jù)被附加到URL上,并作為URL的一部分發(fā)送到服務器端。在程序開發(fā)過程中,由于GET方法提交的數(shù)據(jù)是附加到URL上發(fā)送的,因此,在URL的地址欄中將會顯示“URL+用戶傳遞的參數(shù)”。GET方法的傳參格式如下:上一頁下一頁返回9.1創(chuàng)建和編輯表單
其中,url為表單響應地址(如/index.php),name1為表單元素的名稱,value1為表單元素的值。url和表單之間用“?”隔開,而多個表單元素之間用“&”隔開,每個表單元素的格式都是“name=value”,固定不變。而用GET方法傳遞數(shù)據(jù)是有限制的,URL的長度應小于1MB字符?!纠?-3】將例9-1的method屬性值改為GET,執(zhí)行程序,運行結(jié)果如圖9-3所示。上一頁返回9.2 在PHP中接收和處理表單數(shù)據(jù)獲取表單提交數(shù)據(jù)有兩種方法,分別為$_GET[]和$_POST[],在實際程序開發(fā)過程中,使用哪種方法獲取數(shù)據(jù),在前面章節(jié)中已經(jīng)做了介紹。如果method屬性指定的是用POST方法進行數(shù)據(jù)傳遞,那么,在處理數(shù)據(jù)時,就應該使用$_POST[]全局變量獲取表單數(shù)據(jù)。9.2.1 $_GET[]方法獲取表單數(shù)據(jù)使用$_GET[]方法獲取表單數(shù)據(jù)的格式如下:下一頁返回9.2 在PHP中接收和處理表單數(shù)據(jù)【例9-4】創(chuàng)建一個表單,設置表單以get方式提交數(shù)據(jù),在表單中加入一個文本框,設置name屬性為username,表單代碼如下:上一頁下一頁返回9.2 在PHP中接收和處理表單數(shù)據(jù)獲取表單元素的頁面9.2.1.php代碼如下:執(zhí)行程序,運行結(jié)果如圖9-4所示。9.2.2 $_POST[]方法獲取表單數(shù)據(jù)使用$_POST[]方法獲取表單數(shù)據(jù)的格式如下:上一頁下一頁返回9.2 在PHP中接收和處理表單數(shù)據(jù)【例9-5】將例9-4中的表單設置為以post方式提交數(shù)據(jù),其獲取表單元素的頁面9.2.1.php代碼如下:執(zhí)行程序,運行結(jié)果如圖9-5所示。上一頁下一頁返回9.2 在PHP中接收和處理表單數(shù)據(jù)9.2.3 使用JavaScript驗證表單的輸入
JavaScript腳本語言與其他語言一樣,有其自身的基本數(shù)據(jù)類型、表達式和運算符以及程序的基本框架結(jié)構。通過本節(jié)學習,讀者可以掌握更多JavaScript腳本語言的基礎知識。1.JavaScript簡介JavaScript是世界上最流行的編程語言。這門語言可用于HTML和Web,更可廣泛用于服務器、PC、筆記本電腦、平板電腦和智能手機等設備。JavaScript是腳本語言,也是一種輕量級的編程語言。它可插入HTML頁面的編程代碼,插入HTML頁面后,可由所有的現(xiàn)代瀏覽器執(zhí)行。上一頁下一頁返回9.2 在PHP中接收和處理表單數(shù)據(jù)2.JavaScript用法HTML中的腳本必須位于<script>與</script>標簽之間,腳本可被放置在HTML頁面的<body>和<head>部分中。其語法格式如下:JavaScript語法規(guī)則和語句書寫方法在本章節(jié)不做詳細講述,請讀者自行查看JavaScript手冊。3.JavaScript數(shù)據(jù)類型JavaScript主要有6種數(shù)據(jù)類型,見表9-4。上一頁下一頁返回9.2 在PHP中接收和處理表單數(shù)據(jù)4.JavaScript變量變量是用于存儲信息的“容器”。就像代數(shù)那樣x=5、y=6、z=x+y在代數(shù)中,使用字母(比如x)來保存值(比如5)。通過上面的表達式z=x+y,能夠計算出z的值為11。在JavaScript中,這些字母被稱為變量。JavaScript變量與代數(shù)一樣,JavaScript變量可用于存放值(比如x=5)和表達式(比如z=x+y)。變量可以使用短名稱(比如x和y),也可以使用描述性更好的名稱(比如age、sum、totalvolume),建議的變量命名規(guī)則描述如下:①變量必須以字母開頭;②變量也能以$和_符號開頭(不過我們不推薦這么做);③變量名稱對大小寫敏感(y和Y是不同的變量)。上一頁下一頁返回9.2 在PHP中接收和處理表單數(shù)據(jù)5.JavaScript表單驗證HTML表單驗證可以通過JavaScript來完成。下面以一個實例來看下JavaScript表單驗證的使用辦法?!纠?-6】該實例用于判斷表單字段(fname)值是否存在,如果存在,則彈出信息,否則阻止表單提交,其代碼如下:上一頁下一頁返回9.2 在PHP中接收和處理表單數(shù)據(jù)以上JavaScript代碼可以通過HTML代碼來調(diào)用。表單代碼如下:執(zhí)行程序,運行結(jié)果如圖9-6所示。上一頁返回9.3 文件上傳9.3.1 使用POST方法上傳文件在Web開發(fā)中經(jīng)常會遇到從客戶端上傳文件到服務器端的問題。通常,文件上傳使用的是HTTP的POST方式,使用POST方式傳遞文件到服務器端。要完成文件上傳處理,首先要定義HTML表單的enctype屬性為“multipart/form-data”,代碼如下:只有這樣的表單,才能確保文件可以提交并上傳。其中,url要替換為一個可以處理文件上傳的真實PHP文件。【例9-7】創(chuàng)建一個支持文件上傳的表單,該表單將一個文件提交至相應的PHP文件中進行處理,處理操作稍后在例9-8中完成。創(chuàng)建的支持文件上傳的表單代碼如下:下一頁返回9.3 文件上傳運行結(jié)果如圖9-7所示。上一頁下一頁返回9.3 文件上傳在PHP程序中使用全局變量$_FILES處理文件上傳,$_FILES是一個數(shù)組,包含了要上傳的文件的信息。下面以上述HTML表單為例,介紹$_FILES數(shù)組的內(nèi)容。①$_FILES["uploadfile"]["name"]表示上傳文件的名稱。②$_FILES["uploadfile"]["type"]表示上傳文件的類型,例如“image/gif”。③$_FILES["uploadfile"]["size"]表示上傳文件的大小,單位為字節(jié)。④$_FILES["uploadfile"]["tmp_name"]表示文件上傳后,在服務器端存儲的臨時文件名。上一頁下一頁返回9.3 文件上傳⑤$_FILES["uploadfile"]["error"]表示和文件上傳的相關錯誤信息。文件提交后,一般會被存儲到服務器的默認臨時目錄中,可以通過修改php.ini中的upload_tmp_dir項,修改為其他路徑。使用函數(shù)move_uploaded_file()將上傳的文件移動到指定的目錄下。該函數(shù)的原型如下:第1個參數(shù)filename指合法的上傳文件,第2個參數(shù)destination是移動后的目標文件。如果上傳的文件不合法,或由于某種原因無法移動文件,該函數(shù)會返回FALSE。上一頁下一頁返回9.3 文件上傳【例9-8】處理從例9-7表單中提交的文件上傳信息PHP程序,其代碼如下:以上程序在執(zhí)行的情況下,如果選擇一個要上傳的文件,單價提交按鈕,如果上傳成功,會顯示成功信息,如圖9-8所示。上一頁下一頁返回9.3 文件上傳轉(zhuǎn)到服務器根目錄下的upload文件夾中,將會看到剛剛上傳的文件,如圖9-9所示。9.3.2 配置文件上傳
在php.ini中如果不對post_max_size,upload_max_filesize這些參數(shù)進行修改,默認最多只能上傳2MB的文件了,如果幾十MB或更大的就無法上傳了,下面介紹修改PHP配置文件上傳大文件的方法(以windows+apache+php環(huán)境下的配置方法為例)。在apache最常見的PHP上傳文件大小限制是通過php.ini配置文件定義的,通過修改以下三個字段的值,重新啟用服務器端程序(如apache),便可成功修改PHP上傳文件的大小限制:上一頁下一頁返回9.3 文件上傳①upload_max_filesize=8M;②post_max_size=10M;③memory_limit=20M。具體配置如下:①在php.ini里查找如下代碼:max_execution_time,默認是30秒,改為如下代碼:max_execution_time=0,0表示沒有限制,以上修改的是PHP上傳文件中腳本執(zhí)行超時時間。②修改post_max_size設定POST數(shù)據(jù)所允許的最大大小,此設定也影響到PHP上傳文件。PHP默認的post_max_size為2M。如果POST數(shù)據(jù)尺寸大于
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 隔離酒店消防安全評估
- 快速回復話術
- 冷庫防爆燈具配置監(jiān)管要點
- 質(zhì)量三檢培訓課件
- 化學品特種作業(yè)持證管理
- 口腔科質(zhì)控護士長年終總結(jié)
- 裝配技術職業(yè)規(guī)劃
- 培訓師制作課件規(guī)定
- 5分式的基本性質(zhì)課件華東師大版數(shù)學八年級下冊
- 一年級道德與法治下冊:第十二課 干點家務活 課件
- GB/T 46161.1-2025道路車輛氣壓制動系第1部分:管、端面密封外螺紋接頭和螺紋孔
- 云南省茶葉出口競爭力分析及提升對策研究
- 絕緣技術監(jiān)督培訓課件
- 2025秋季學期國開電大法律事務專科《刑事訴訟法學》期末紙質(zhì)考試多項選擇題庫珍藏版
- 東城區(qū)2025-2026學年九年級第一學期期末考試物理試題
- 《市場監(jiān)督管理投訴舉報處理辦法》知識培訓
- 地震監(jiān)測面試題目及答案
- 12S522混凝土模塊式排水檢查井圖集
- 物業(yè)的2025個人年終總結(jié)及2026年的年度工作計劃
- 交通警察道路執(zhí)勤執(zhí)法培訓課件
- JJG 1205-2025直流電阻測試儀檢定規(guī)程
評論
0/150
提交評論