:::

4-1 接收表單的值

一、接收從表單來的變數

  1. 表單若是用POST方法,送出後,action 指定的檔案會接收到 $_POST['xxx'] 的超級全域變數(是一個Array陣列,若是 get 方法,則為 $_GET['xxx']),同時,也會產生 $_SERVER['REQUEST_METHOD'] 超級全域變數,值為 POST
    <form action="admin.php" method="post">

    至於 xxx 指的是什麼?就是表單元件中的 name 屬性,例如:

  2. <input type="text" name="title">

    送出後,admin.php 這個檔就會收到 $_POST['title'] 的超級全域變數

  3. $_REQUEST['xxx'] 則同時可接收來自 post、get 和 cookie 的變數 。

  4. 此外,$_SERVER['REQUEST_METHOD'] 的值則會等於「POST」,所以,我們可以利用此點,判斷是否是有表單用POST方式傳值進來:

    // 處理表單提交
    if ($_SERVER['REQUEST_METHOD'] === 'POST') {
        ...若有傳值進來就處理之...
    }

    === 是左右比對,除了變數值,連變數類型都需要一致才行

  5. 接著我們可以擷取到以下的值:

    // 取得表單值
    $title    = $_POST['title'];
    $content  = $_POST['content'];
    $author   = $_POST['author'];
    $date     = $_POST['date'];
    $category = $_POST['category'];

二、超級全域變數(superglobals)

  1. PHP提供了一系列的預設變數,這些預設變數都以陣列(Array)的型態存在。
  2. 不同來源的超級全域變數為 $_POST$_GET$_REQUEST$_SERVER$_SESSION$_COOKIE$_FILES 等,後面會陸續提到。
  3. 前面一定有底線,一定是大寫。
  4. 這些變數是可以在任何地方被拿來使用,例如函數中也可以直接用,不需要用global關鍵字宣告。
  5. 它們也被稱為「自動全域變數」(autoglobals)或 「超級全域變數」(superglobals)。

:::

書籍目錄

展開 | 闔起

快速登入


http%3A%2F%2Fcampus-xoops.tn.edu.tw%2Fmodules%2Ftad_book3%2Fpage.php%3Ftbdsn%3D1796%26tbsn%3D52

計數器

今天: 1535153515351535
昨天: 4159415941594159
總計: 8069053806905380690538069053806905380690538069053