bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

如何實(shí)現(xiàn)form表單在PHP中

這篇文章運(yùn)用簡(jiǎn)單易懂的例子給大家介紹如何實(shí)現(xiàn)form表單在PHP中,代碼非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

創(chuàng)新互聯(lián)從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站建設(shè)、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元宿松做網(wǎng)站,已為上家服務(wù),為宿松各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108

                                                           1、表單的基本使用

HTML 中有一個(gè)專門(mén)用于提交數(shù)據(jù)的標(biāo)簽: <form> ,通過(guò)這個(gè)標(biāo)簽可以很容易的收集用戶輸入.

form 標(biāo)簽有兩個(gè)必要屬性:
action:表單提交地址(填完了,交給誰(shuí))
method:表單以什么方式提交

例如,我們需要在登錄界面上收集用戶輸入的用戶名和密碼:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF‐8">
  <title>登錄</title>
</head>
<body>
  <form action="login.php" method="post">
    <div>
      <label for="username">用戶名</label>
      <input type="text" id="username" name="username">
    </div>
    <div>
      <label for="password">密碼</label>
      <input type="password" id="password" name="password">
    </div>
    <button type="submit">登錄</button>
  </form>
</body>
</html>

按照目前的情況,用戶第一次請(qǐng)求得到這個(gè)表單頁(yè)面,填寫(xiě)完表單內(nèi)容,點(diǎn)擊登錄,表單會(huì)自動(dòng)發(fā)送到login.php ,剩下的問(wèn)題就是要考慮如何在 login.php 中獲取到用戶提交過(guò)來(lái)的內(nèi)容.

PHP 中有三個(gè)超全局變量專門(mén)用來(lái)獲取表單提交內(nèi)容:
   $_GET :用于獲取以 GET 方式提交的內(nèi)容
   $_POST :用于獲取以 POST 方式提交的內(nèi)容
   $_REQUEST :用于獲取 GET 或 POST 方式提交的內(nèi)容

借助  $_POST 或者  $_REQUEST 就可以獲取到表單提交的內(nèi)容:

<?php
// 獲取表單提交的用戶名和密碼
echo '用戶名:' . $_REQUEST['username'];
echo '密碼:' . $_REQUEST['password'];

1.1、提交地址

action 提交地址指的是這個(gè)表單填寫(xiě)完成過(guò)后點(diǎn)擊提交,發(fā)送請(qǐng)求的請(qǐng)求地址是什么。
從便于維護(hù)的角度考慮,一般我們最常見(jiàn)的都是提交給當(dāng)前文件,然后在當(dāng)前文件中判斷是否是表單提交請(qǐng)求:

<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  // 表單提交請(qǐng)求
  }

另外,建議使用 $_SERVER['PHP_SELF'] 動(dòng)態(tài)獲取當(dāng)前頁(yè)面訪問(wèn)路徑,這樣就不用因?yàn)槲募孛蛘呔W(wǎng)站目錄結(jié)構(gòu)調(diào)整而修改代碼了:

<!‐‐ 這樣寫(xiě)死 action 地址,當(dāng)文件重命名就需要修改代碼 ‐‐>
<form action="/foo/login.php">
  <!‐‐ ... ‐‐>
</form>
<!‐‐ 通過(guò) `$_SERVER['PHP_SELF']` 獲取路徑,可以輕松避免這個(gè)問(wèn)題 ‐‐>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>">
  <!‐‐ ... ‐‐>
</form>

1.2、提交方式

method 可以用于設(shè)置表單提交的方式,目前我們所認(rèn)識(shí)的就是最常見(jiàn)兩種表單提交方式: GET 和 POST 。
從效果上來(lái)看,兩者都可以將數(shù)據(jù)提交到服務(wù)端,但是從實(shí)現(xiàn)提交的原理上兩者有很大的不同:
GET
表單數(shù)據(jù)是通過(guò) URL 中的 ? 參數(shù)傳遞到服務(wù)端的
可以在地址欄中看到提交的內(nèi)容
數(shù)據(jù)長(zhǎng)度有限制,因?yàn)?URL 地址長(zhǎng)度有限(2000個(gè)字符)
POST
表單數(shù)據(jù)是通過(guò)請(qǐng)求體傳遞到服務(wù)端的,我們?cè)诮缑嫔峡床坏?br/>可以提交任何類型的數(shù)據(jù),包括文件
由于界面上看不見(jiàn),瀏覽器也不儲(chǔ)存,所以更安全
至于什么情況下應(yīng)該選用哪種方式,這個(gè)需要結(jié)合業(yè)務(wù)場(chǎng)景和這兩種方式各自的特點(diǎn)來(lái)決定,沒(méi)有絕對(duì)的答案,只能給出一些原則:
絕不能使用 GET 來(lái)發(fā)送密碼或其他敏感信息?。?!
應(yīng)該想清楚這次請(qǐng)求到底主要是去拿東西,還是去送東西

2、常見(jiàn)表單元素處理

至于表單元素中的文本框文本域一類的元素,都是直接將元素的 name 屬性值作為鍵,用戶填寫(xiě)的信息作為值,發(fā)送到服務(wù)端。但是表單元素中還有一些比較特殊的表單元素需要單獨(dú)考慮:

2.1單選按鈕

<!‐‐ 最終只會(huì)提交選中的那一項(xiàng)的 value ‐‐>
<input type="radio" name="gender" value="male">
<input type="radio" name="gender" value="female">

2.2、復(fù)選按鈕

<!‐‐ 沒(méi)有設(shè)置 value 的 checkbox 選中提交的 value 是 on ‐‐>
<input type="checkbox" name="agree">
<!‐‐ 設(shè)置了 value 的 checkbox 選中提交的是 value 值 ‐‐>
<input type="checkbox" name="agree" value="true">

如果需要同時(shí)提交多個(gè)選中項(xiàng),可以在  name 屬性后面 跟上  [] :

https://www.php.net/manual/zh/faq.html.php#faq.html.arrays

<input type="checkbox" name="funs[]" id="" value="football">
<input type="checkbox" name="funs[]" id="" value="basketball">
<input type="checkbox" name="funs[]" id="" value="world peace">

最終提交到服務(wù)端,通過(guò)  $_POST 接收到的是一個(gè)索引數(shù)組.

2.3、選擇框

<select name="subject"> 
<!‐‐ 設(shè)置 value 提交 value ‐‐>  
<option value="1">語(yǔ)文</option>  
<!‐‐ 沒(méi)有設(shè)置 value 提交 innerText ‐‐>  
<option>數(shù)學(xué)</option>
</select>

2.4文件上傳

type 屬性為 file 的 input 元素可以通過(guò)表單提交文件(上傳文件),服務(wù)端 PHP 可以通過(guò) $_FILES 獲取上傳的文件信息。

<?php
// 如果選擇了文件 $_FILES['file']['error'] => 0
// 詳細(xì)的錯(cuò)誤碼說(shuō)明:http://php.net/manual/zh/features.file‐upload.errors.php
if ($_FILES['file']['error'] === 0) {
  // PHP 在會(huì)自動(dòng)接收客戶端上傳的文件到一個(gè)臨時(shí)的目錄
  $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 同樣也是一個(gè)關(guān)聯(lián)數(shù)組,鍵為表單的  name ,內(nèi)容如下:

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)
  }
}

關(guān)于如何實(shí)現(xiàn)form表單在PHP中就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

網(wǎng)站欄目:如何實(shí)現(xiàn)form表單在PHP中
鏈接URL:http://vcdvsql.cn/article0/pdssio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣企業(yè)建站、響應(yīng)式網(wǎng)站、網(wǎng)站排名手機(jī)網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)