首頁  >  文章  >  後端開發  >  詳解之二:PHP與Web頁面的互動範例

詳解之二:PHP與Web頁面的互動範例

coldplay.xixi
coldplay.xixi轉載
2020-08-07 16:30:172669瀏覽

詳解之二:PHP與Web頁面的互動範例

前言

#在《PHP學習筆記-PHP與Web頁面的互動1》筆記中講解了form表單的一些屬性,包括它的輸入域標記、選擇域標記和文字域標記的寫法,接下來的內容就是講如何取得表單資料以及PHP資料的傳遞,包括對各種控制項值的取得。

相關學習推薦:php程式設計(影片)

#插入表單

#提交表單之前一定得有表單,當我們的表單創建完畢後可以將表單插入Web頁中,程式碼如下:

<!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页中插入表单</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">市场:</td>
   <td height="25" colspan="2" align="left"><input name="from" type="radio" value="海外" checked>
    海外
    <input type="radio" name="from" value="国内">
    国内</td>
  </tr>
  <tr bgcolor="#FFCC33">
   <td width="103" height="25" align="right">编号:</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="计算机">计算机</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="提交">
      
    <input type="reset" name="submit2" value="重置"></td>
  </tr>
 </table>
</form>
<?php
header("Content-Type:text/html;  charset=gb2312");
?>>
</body>
</html>

在HTML的

和 body>間新增一個表單。

運行結果:詳解之二:PHP與Web頁面的互動範例

取得表單資料

表單資料的取得主要有兩個鐘方式分別是POST()方法和GET()方法。

透過

表單的method屬性所指定。 使用POST方法提交表單

應用POST方法時,只需將

表單中的屬性method設定成POST即可。 POST方法不依賴URL,不會顯示在網址列。 POST方法可以沒有限制地傳遞資料到伺服器,所有提交的資訊在後台傳輸,使用者在瀏覽器端是看不到這一過程的,安全性高。所以POST方法比較適合用來傳送一個保密的(如信用卡號)或容量較大的資料到伺服器。

範例:

<!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语言基础</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">编号:
        <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>

執行結果:詳解之二:PHP與Web頁面的互動範例

#點擊提交按鈕後,我們發現網址列不會顯示我們提交的參數。 使用GET方法提交表單

GET方法是

表單中method屬性的預設方法。使用GET方法提交的表單資料被附加到URL後,並作為URL的一部分傳送到伺服器端。在程式的開發過程中,由於GET方法提交的資料是附加到URL上發送的,因此,在URL的網址列中將會顯示「URL 使用者傳遞的參數」。

將上面範例中的

表單中method屬性指定為get,執行程式後的結果如下:詳解之二:PHP與Web頁面的互動範例

點擊按鈕後網址列會通過'? '連接鍵值對,鍵值對以‘&'分隔。 PHP參數傳遞的常用方法

取得表單數據,實際上就是要取得不同的表單元素的資料。

標籤中的name是所有表單元素都具備的屬性,也就是為這個表單元素的名稱,使用時需要使用name屬性來取得對應的value屬性值。
    PHP參數傳遞的常用方法有三種:
  1. $_POST[]全域變數
  2.  $_GET[]全域變數
$_SESSION []變數

$_POST[]全域變數

#使用PHP的$_POST[]預定義變數可以取得表單元素的值,格式為:

$_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语言基础</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">编号:
        <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[&#39;code&#39;];
echo "编号:".$value;
?>
</body>
</html>

執行結果:詳解之二:PHP與Web頁面的互動範例

##$ _GET[]全域變數

PHP使用$_GET[]預先定義變數取得透過GET方法傳過來的值,使用格式為:

   $_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语言基础</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">编号:
        <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[&#39;code&#39;];
echo "编号:".$value;
?>
</body>
</html>

運行結果:

詳解之二:PHP與Web頁面的互動範例

#$_SESSION[]變數

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

使用$_SESSION[]傳參的方法所取得的變數值,儲存之後任何頁面都可以使用。但這種方法很耗費系統資源,建議讀者慎重使用。

案例

最後結合筆記中的第一個demo寫一個完整的案例:

<!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页中插入表单</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">市场:</td>
      <td height="25" colspan="2" align="left"><input name="from" type="radio" value="海外" checked>
        海外
        <input type="radio" name="from" value="国内">
        国内
      </td>
    </tr>
    <tr bgcolor="#FFCC33">
      <td width="103" height="25" align="right">编号:</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="计算机">计算机</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="提交">
          
        <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[&#39;product&#39;];
  echo " <br><br>  市场:" . $_POST[from];
  echo " <br><br>  编号:" . $_POST[&#39;code&#39;];
  echo " <br><br>  种类:" .$_POST[&#39;select&#39;];
  $path = &#39;./upfiles/&#39;. $_FILES[&#39;photo&#39;][&#39;name&#39;];
  move_uploaded_file($_FILES[&#39;photo&#39;][&#39;tmp_name&#39;],$path);
  echo " <br><br>商品图片:" .$path;
  echo " <br><br>商品描述:" .$_POST[&#39;intro&#39;];
}


?>
</body>
</html>

運行結果:

詳解之二:PHP與Web頁面的互動範例

透過move_uploaded_file方法將圖片上傳到目前路徑下的upfiles資料夾中。 ###

相關學習推薦:程式設計影片

#

以上是詳解之二:PHP與Web頁面的互動範例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:jb51.net。如有侵權,請聯絡admin@php.cn刪除