溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何實(shí)現(xiàn)PHP與Web頁(yè)面的交互

發(fā)布時(shí)間:2020-08-10 10:00:45 來(lái)源:億速云 閱讀:230 作者:Leah 欄目:編程語(yǔ)言

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)如何實(shí)現(xiàn)PHP與Web頁(yè)面的交互,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

前言

在《PHP學(xué)習(xí)筆記-PHP與Web頁(yè)面的交互1》筆記中講解了form表單的一些屬性,包括它的輸入域標(biāo)記、選擇域標(biāo)記和文字域標(biāo)記的寫法,接下來(lái)的內(nèi)容就是講如何獲取表單數(shù)據(jù)以及PHP數(shù)據(jù)的傳遞,包括對(duì)各種控件值的獲取。


插入表單

提交表單之前一定得有表單,當(dāng)我們的表單創(chuàng)建完畢后可以將表單插入Web頁(yè)中,代碼如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>在普通的Web頁(yè)中插入表單</title>
<style type="text/css">
body,td,th {
  font-size: 12px;
}
</style>
</head>
<body>
<form action="demo_1.php" method="post" name="form1" enctype="multipart/form-data">
 <table width="405" height="24" border="1" cellpadding="1" cellspacing="1" bordercolor="#FFFFFF" bgcolor="#999999">
  <tr bgcolor="#FFCC33">
   <td width="103" height="25" align="right">商品名稱:</td>
   <td height="25" align="left"><input name="product" type="text" id="user" size="20" maxlength="100"></td>
  </tr>
  <tr bgcolor="#FFCC33">
   <td height="25" align="right">市場(chǎng):</td>
   <td height="25" colspan="2" align="left"><input name="from" type="radio" value="海外" checked>
    海外
    <input type="radio" name="from" value="國(guó)內(nèi)">
    國(guó)內(nèi)</td>
  </tr>
  <tr bgcolor="#FFCC33">
   <td width="103" height="25" align="right">編號(hào):</td>
   <td width="289" height="25" colspan="2" align="left"><input name="code" type="text" id="code" size="20" maxlength="100"></td>
  </tr>
  <tr bgcolor="#FFCC33">
   <td height="25" align="right">種類:</td>
   <td height="25" colspan="2" align="left"><select name="select">
     <option value="電器">電器</option>
     <option value="家具">家具</option>
     <option value="化妝品">化妝品</option>
     <option value="圖書" selected>圖書</option>
     <option value="服飾">服飾</option>
     <option value="寵物">寵物</option>
     <option value="計(jì)算機(jī)">計(jì)算機(jī)</option>
    </select></td>
  </tr>
  <tr bgcolor="#FFCC33">
   <td height="25" align="right">商品圖片: </td>
   <td height="25" colspan="2" align="left"><input name="photo" type="file" size="20" maxlength="1000" id="photo"></td>
  </tr>
  <tr bgcolor="#FFCC33">
   <td height="25" align="right">商品描述: </td>
   <td height="25" colspan="2" align="left"><textarea name="intro" cols="28" rows="3" id="info"></textarea></td>
  </tr>
  <tr align="center" bgcolor="#FFCC33">
   <td height="25" colspan="3"><input type="submit" name="submit" value="提交">
    &nbsp;&nbsp;
    <input type="reset" name="submit2" value="重置"></td>
  </tr>
 </table>
</form>
<?php
header("Content-Type:text/html;  charset=gb2312");
?>>
</body>
</html>

在HTML的<body>和</body>間添加一個(gè)表單。

運(yùn)行結(jié)果:

如何實(shí)現(xiàn)PHP與Web頁(yè)面的交互

獲取表單數(shù)據(jù)

表單數(shù)據(jù)的獲取主要有兩個(gè)鐘方式分別是POST()方法和GET()方法。

通過<form>表單的method屬性所指定。

使用POST方法提交表單

應(yīng)用POST方法時(shí),只需將<form>表單中的屬性method設(shè)置成POST即可。POST方法不依賴于URL,不會(huì)顯示在地址欄。POST方法可以沒有限制地傳遞數(shù)據(jù)到服務(wù)器,所有提交的信息在后臺(tái)傳輸,用戶在瀏覽器端是看不到這一過程的,安全性高。所以POST方法比較適合用于發(fā)送一個(gè)保密的(如信用卡號(hào))或者容量較大的數(shù)據(jù)到服務(wù)器。

示例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312"
    />
  <title>PHP語(yǔ)言基礎(chǔ)</title>

</head>
<body>
<form action="index.php" method="post" name="form1" enctype="multipart/form-data">
  <table width="300" border="1" cellpadding="10" cellspacing="0">
    <tr>
      <td height="30">編號(hào):
        <input type="text" name="code" size="20"/>
        <input type="submit" name="subimt" value="提交"/>
      </td>
    </tr>
  </table>
</form>
<?php
header("Content-Type:text/html;  charset=gb2312");
?>
</body>
</html>

運(yùn)行結(jié)果:

如何實(shí)現(xiàn)PHP與Web頁(yè)面的交互

點(diǎn)擊提交按鈕后,我們發(fā)現(xiàn)地址欄不會(huì)顯示我們提交的參數(shù)。

使用GET方法提交表單

GET方法是<form>表單中method屬性的默認(rèn)方法。使用GET方法提交的表單數(shù)據(jù)被附加到URL后,并作為URL的一部分發(fā)送到服務(wù)器端。在程序的開發(fā)過程中,由于GET方法提交的數(shù)據(jù)是附加到URL上發(fā)送的,因此,在URL的地址欄中將會(huì)顯示“URL+用戶傳遞的參數(shù)”。

將上面示例中的<form>表單中method屬性指定為get,運(yùn)行程序后的結(jié)果如下:

如何實(shí)現(xiàn)PHP與Web頁(yè)面的交互

點(diǎn)擊按鈕后地址欄會(huì)通過‘?'連接鍵值對(duì),鍵值對(duì)以‘&'分隔。

PHP參數(shù)傳遞的常用方法

獲取表單數(shù)據(jù),實(shí)際上就是獲取不同的表單元素的數(shù)據(jù)。<form>標(biāo)簽中的name是所有表單元素都具備的屬性,即為這個(gè)表單元素的名稱,在使用時(shí)需要使用name屬性來(lái)獲取相應(yīng)的value屬性值。

PHP參數(shù)傳遞的常用方法有三種:

  1. $_POST[]全局變量
  2. $_GET[]全局變量
  3. $_SESSION[]變量

$_POST[]全局變量

使用PHP的$_POST[]預(yù)定義變量可以獲取表單元素的值,格式為:

$_POST[name]

范例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312"
    />
  <title>PHP語(yǔ)言基礎(chǔ)</title>

</head>
<body>
<form action="index.php" method="post" name="form1" enctype="multipart/form-data">
  <table width="300" border="1" cellpadding="10" cellspacing="0">
    <tr>
      <td height="30">編號(hào):
        <input type="text" name="code" size="20"/>
        <input type="submit" name="subimt" value="提交"/>
      </td>
    </tr>
  </table>
</form>
<?php
header("Content-Type:text/html;  charset=gb2312");
$value=$_POST['code'];
echo "編號(hào):".$value;
?>
</body>
</html>

運(yùn)行結(jié)果:

如何實(shí)現(xiàn)PHP與Web頁(yè)面的交互

$_GET[]全局變量

PHP使用$_GET[]預(yù)定義變量獲取通過GET方法傳過來(lái)的值,使用格式為:

   $_GET[name]

范例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312"
    />
  <title>PHP語(yǔ)言基礎(chǔ)</title>

</head>
<body>
<form action="index.php" method="get" name="form1" enctype="multipart/form-data">
  <table width="300" border="1" cellpadding="10" cellspacing="0">
    <tr>
      <td height="30">編號(hào):
        <input type="text" name="code" size="20"/>
        <input type="submit" name="subimt" value="提交"/>
      </td>
    </tr>
  </table>
</form>
<?php
header("Content-Type:text/html;  charset=gb2312");
$value=$_GET['code'];
echo "編號(hào):".$value;
?>
</body>
</html>

運(yùn)行結(jié)果:

如何實(shí)現(xiàn)PHP與Web頁(yè)面的交互

$_SESSION[]變量

使用$_SESSION[]變量可以獲取表單元素的值,格式為:

$_SESSION[name]

使用$_SESSION[]傳參的方法獲取的變量值,保存之后任何頁(yè)面都可以使用。但這種方法很耗費(fèi)系統(tǒng)資源,建議讀者慎重使用。

案例

最后結(jié)合筆記中的第一個(gè)demo寫一個(gè)完整的案例:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  <title>在普通的Web頁(yè)中插入表單</title>
  <style type="text/css">
    body, td, th {
      font-size: 12px;
    }
  </style>
</head>
<body>
<form action="demo_1.php" method="post" name="form1" enctype="multipart/form-data">
  <table width="405" height="24" border="1" cellpadding="1" cellspacing="1" bordercolor="#FFFFFF" bgcolor="#999999">
    <tr bgcolor="#FFCC33">
      <td width="103" height="25" align="right">商品名稱:</td>
      <td height="25" align="left"><input name="product" type="text" id="user" size="20" maxlength="100"></td>
    </tr>
    <tr bgcolor="#FFCC33">
      <td height="25" align="right">市場(chǎng):</td>
      <td height="25" colspan="2" align="left"><input name="from" type="radio" value="海外" checked>
        海外
        <input type="radio" name="from" value="國(guó)內(nèi)">
        國(guó)內(nèi)
      </td>
    </tr>
    <tr bgcolor="#FFCC33">
      <td width="103" height="25" align="right">編號(hào):</td>
      <td width="289" height="25" colspan="2" align="left"><input name="code" type="text" id="code" size="20"
                                    maxlength="100"></td>
    </tr>
    <tr bgcolor="#FFCC33">
      <td height="25" align="right">種類:</td>
      <td height="25" colspan="2" align="left"><select name="select">
          <option value="電器">電器</option>
          <option value="家具">家具</option>
          <option value="化妝品">化妝品</option>
          <option value="圖書" selected>圖書</option>
          <option value="服飾">服飾</option>
          <option value="寵物">寵物</option>
          <option value="計(jì)算機(jī)">計(jì)算機(jī)</option>
        </select></td>
    </tr>
    <tr bgcolor="#FFCC33">
      <td height="25" align="right">商品圖片:</td>
      <td height="25" colspan="2" align="left"><input name="photo" type="file" size="20" maxlength="1000"
                              id="photo"></td>
    </tr>
    <tr bgcolor="#FFCC33">
      <td height="25" align="right">商品描述:</td>
      <td height="25" colspan="2" align="left"><textarea name="intro" cols="28" rows="3" id="info"></textarea>
      </td>
    </tr>
    <tr align="center" bgcolor="#FFCC33">
      <td height="25" colspan="3"><input type="submit" name="submit" value="提交">
        &nbsp;&nbsp;
        <input type="reset" name="submit2" value="重置"></td>
    </tr>
  </table>
</form>
<?php
header("Content-Type:text/html;  charset=gb2312");

if ($_POST[submit] != "") {
  echo "商品清單:";
  echo " <br><br>商品名稱:" . $_POST['product'];
  echo " <br><br>  市場(chǎng):" . $_POST[from];
  echo " <br><br>  編號(hào):" . $_POST['code'];
  echo " <br><br>  種類:" .$_POST['select'];
  $path = './upfiles/'. $_FILES['photo']['name'];
  move_uploaded_file($_FILES['photo']['tmp_name'],$path);
  echo " <br><br>商品圖片:" .$path;
  echo " <br><br>商品描述:" .$_POST['intro'];
}


?>
</body>
</html>

運(yùn)行結(jié)果:

如何實(shí)現(xiàn)PHP與Web頁(yè)面的交互

通過move_uploaded_file方法將圖片上傳到當(dāng)前路徑下的upfiles文件夾中。


上述就是小編為大家分享的如何實(shí)現(xiàn)PHP與Web頁(yè)面的交互了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI