跳轉到內容

PHP 和 MySQL 程式設計/表單處理

來自華夏公益教科書

為了在不使用命令列的情況下獲取使用者輸入,您將使用 HTML 表單。 PHP 有各種函式和技術來處理來自 HTML 表單的輸入。具體來說,我們將使用特殊的陣列變數$_GET[]$_POST[].

HTML 表單

[編輯 | 編輯原始碼]

在我們開始使用這些特殊變數之前,讓我們看看如何設定 HTML 表單與 PHP 互動。這是一個簡單的示例表單

 <html>
 <head><title>HTML Form Example</title></head>
 <body>
    <form method="POST" action="form_handler.php">
      username: <input type="text" name="username"> <br>
      password: <input type="password" name="password"> <br>
      <input type="submit" value="GO">
    </form>
 </body>
 </html>

上面的示例設定了一個帶有 `method` 和 `action` 屬性的表單。`method` 定義了表單中的資料如何傳輸到由 `action` 定義的頁面。`method` 可以是 GETPOST。如果使用 GET,則所有表單元素將附加到目標頁面的 url(由 `action` 屬性指定),以 url 編碼格式(`target?attrib1=val1&attrib2=val2&attrib3=val3` 等)。這些屬性可以透過使用 `$_GET[]` 陣列在 PHP 中輕鬆訪問。

如果指定了 POST 方法,則資料將被放入一個特殊的伺服器變數中,並透過使用內建的 `$_POST[]` 陣列在 PHP 中訪問。

請注意,在 HTML 程式碼中,INPUT 標籤的 `name` 屬性用作 `$_GET` 和 `$_POST` 陣列中的引用字串,因此始終為 `name` 屬性使用唯一的值非常重要。

要在地址 url 中檢索 `GET` 變數,我們使用以下方法

 $username = $_GET['username'];
 $password = $_GET['password'];
 echo "Username: $username \n Password: $password \n";

請注意,`GET` 不適合用於此示例,因為您通常不希望使用者名稱和密碼資訊顯示在 URL 中。相反,請將 POST 用於登入詳細資訊和身份驗證。

要檢索 `POST` 變數,我們使用以下方法

 $username = $_POST['username'];
 $password = $_POST['password'];
 print "Username: $username \n Password: $password \n";

請注意,當使用 `POST` 時,釋出的資料對使用者是完全不可見的。

進一步閱讀

[編輯 | 編輯原始碼]


華夏公益教科書