PHP 和 MySQL 程式設計/表單處理
外觀
為了在不使用命令列的情況下獲取使用者輸入,您將使用 HTML 表單。 PHP 有各種函式和技術來處理來自 HTML 表單的輸入。具體來說,我們將使用特殊的陣列變數$_GET[]和$_POST[].
在我們開始使用這些特殊變數之前,讓我們看看如何設定 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` 可以是 GET 或 POST。如果使用 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` 時,釋出的資料對使用者是完全不可見的。