:::
4-1 接收表單的值
一、接收從表單來的變數
- 表單若是用
POST方法,送出後,action指定的檔案會接收到$_POST['xxx']的超級全域變數(是一個Array陣列,若是get方法,則為$_GET['xxx']),同時,也會產生$_SERVER['REQUEST_METHOD']超級全域變數,值為POST。<form action="admin.php" method="post">至於
xxx指的是什麼?就是表單元件中的name屬性,例如: -
<input type="text" name="title">送出後,
admin.php這個檔就會收到$_POST['title']的超級全域變數 -
用
$_REQUEST['xxx']則同時可接收來自 post、get 和 cookie 的變數 。 -
此外,
$_SERVER['REQUEST_METHOD']的值則會等於「POST」,所以,我們可以利用此點,判斷是否是有表單用POST方式傳值進來:// 處理表單提交 if ($_SERVER['REQUEST_METHOD'] === 'POST') { ...若有傳值進來就處理之... }===是左右比對,除了變數值,連變數類型都需要一致才行 -
接著我們可以擷取到以下的值:
// 取得表單值 $title = $_POST['title']; $content = $_POST['content']; $author = $_POST['author']; $date = $_POST['date']; $category = $_POST['category'];
二、超級全域變數(superglobals)
- PHP提供了一系列的預設變數,這些預設變數都以陣列(Array)的型態存在。
- 不同來源的超級全域變數為
$_POST、$_GET、$_REQUEST、$_SERVER、$_SESSION、$_COOKIE、$_FILES等,後面會陸續提到。 - 前面一定有底線,一定是大寫。
- 這些變數是可以在任何地方被拿來使用,例如函數中也可以直接用,不需要用global關鍵字宣告。
- 它們也被稱為「自動全域變數」(autoglobals)或 「超級全域變數」(superglobals)。
4. 用AI來產生表單儲存功能