1、表單的基本使用 HTML 中有一個專門用於提交資料的標籤: ,透過這個標籤可以很容易的收集使用者輸入. form 標籤有兩個必要屬性: action:表單提交地址(填完了,交給誰) method:表單以什麼方式提交 #例如,我們需要在登入介面上收集使用者輸入的使用者名稱和密碼: 登录 用户名 密码 登录 登入後複製按照目前的情況,使用者第一次要求得到這個表單頁面,填寫完表單內容,點擊登錄,表單會自動傳送到login .php ,剩下的問題就是要考慮如何在login.php 中取得到使用者提交過來的內容.PHP 中有三個超全域變數專門用來取得表單提交內容: $_GET :用於取得以GET 方式提交的內容 $_POST :用於取得以POST 方式提交的內容 $_REQUEST :用於取得GET 或POST 方式提交的內容使用 $_POST 或 $_REQUEST 就可以取得表單提交的內容:登入後複製1.1、提交地址action 提交地址指的是這個表單填寫完成過後點擊提交,發送請求的請求地址是什麼。 從便於維護的角度考慮,一般我們最常見的都是提交給當前文件,然後在當前文件中判斷是否是表單提交請求:登入後複製另外,建議使用$_SERVER ['PHP_SELF'] 動態取得目前頁面存取路徑,這樣就不用因為檔案重新命名或網站目錄結構調整而修改程式碼了: "> 登入後複製#1.2、提交方式method 可以用來設定表單提交的方式,目前我們所認識的就是最常見兩種表單提交方式: GET 和POST 。 從效果上來看,兩者都可以將資料提交到服務端,但是從實現提交的原理上兩者有很大的不同:GET 表單資料是透過URL 中的? 參數傳遞到服務端的 可以在地址列中看到提交的內容 資料長度有限制,因為URL 位址長度有限(2000個字元)POST 表單資料是透過請求體傳遞到服務端的,我們在介面上看不到 可以提交任何類型的數據,包括文件 由於介面上看不見,瀏覽器也不儲存,所以更安全 至於什麼情況下應該選用哪種方式,這個需要結合業務場景和這兩種方式各自的特點來決定,沒有絕對的答案,只能給出一些原則: 絕不能使用GET 來發送密碼或其他敏感資訊! ! ! 應該想清楚這次請求到底主要是去拿東西,還是去送東西#2、常見表單元素處理#至於表單元素中的文本框文字域一類的元素,都是直接將元素的name 屬性值作為鍵,使用者填寫的資訊作為值,傳送到服務端。但表單元素中還有一些比較特殊的表單元素需要單獨考慮:2.1單選按鈕 登入後複製2.2、複選按鈕 登入後複製如果需要同時提交多個選取項,可以在 name 屬性後面跟上 [] :https://www.php.net /manual/zh/faq.html.php#faq.html.arrays 登入後複製最終提交到服務端,透過 $_POST 接收到的是索引數組.2.3、選擇框 语文 数学 登入後複製2.4檔案上傳type 屬性為file 的input 元素可以透過表單提交文件(上傳文件),服務端PHP 可以透過$_FILES 取得上傳的文件資訊。 0 // 详细的错误码说明:http://php.net/manual/zh/features.file‐upload.errors.php if ($_FILES['file']['error'] === 0) { // PHP 在会自动接收客户端上传的文件到一个临时的目录 $temp_file = $_FILES['file']['tmp_name']; // 我们只需要把文件保存到我们指定上传目录 $target_file = '../static/uploads/' . $_FILES['file']['name']; if (move_uploaded_file($temp_file, $target_file)) { $image_file = '/static/uploads/' . $_FILES['file']['name']; } }登入後複製$_FILES 同樣也是一個關聯數組,鍵為表單的 name ,內容如下:array(1) { ["avatar"]=> array(5) { ["name"]=> string(17) "demo.jpg" ["type"]=> string(10) "image/jpeg" ["tmp_name"]=> string(27) "C:\Windows\Temp\php786C.tmp" ["error"]=> int(0) ["size"]=> int(29501) } }登入後複製更多相關問題請存取PHP中文網:PHP影片教學