這更像是一個「理解」問題,即一個具體示例。我來自一個Python/R /科學計算背景,我通常編譯事物或通過口譯員進行交流。但是一切都在機器上,所以服務器/客戶端之間沒有「通信」。瞭解如何在PHP中處理POST表單
我現在正在嘗試學習PHP(希望讓用戶從Web界面運行我的腳本),並且很好奇在POST期間會發生什麼。
請看下面的代碼:
<!DOCTYPE html>
<html>
<head>
<title>Form Testing</title>
<meta charset="utf-8"/>
</head>
<body>
<?php
if($_POST['formSubmit'] == "Submit") {
echo "Post Status is: ".$_POST['formSubmit']."\n";
$varMovie = $_GET['formMovie'];
echo "Your Favorite Movie Was: ".$varMovie;
}else{
echo "Post Status is: ".$_GET['formSubmit'] ."\n";
}
?>
<form action="index.php" method="post">
Which is your favorite movie?
<input type="text" name="formMovie" maxlength="50">
<input type="submit" name="formSubmit" value="Submit">
</form>
</body>
</html>
我得到了Submit按鈕發送Python字典的當量(關聯數組?)到下一個頁面。然後命令$ _POST ['formSubmit']拉起該值。
但是,當我點擊提交按鈕到頁面加載時,它們之間的值在哪裏。換句話說,在sumbit按鈕之後,究竟發生了什麼?顯然,頁面必須在某處創建這個關聯數組,並以某種方式傳遞它,但我不確定它是如何實現的。
帶有get的想法似乎更清晰。這個URL被追加了,所以PHP引擎可以讀取URL字符串,並找到所有變量的值(我假設這是會發生的)。
謝謝你的幫助!
簡而言之,Apache(或其他)從http請求中爲您填充它。您可以使用任何流量記錄程序(包括Chrome的開發工具)觀察該http請求。 –
您正在使用POST方法,但嘗試使用'$ _GET'來讀取它,將其更改爲'$ _POST'。是的,它根據你的URL和表單方法是如何創建一個關聯數組到'$ _GET'或'$ _POST'。 – Prix
@Prix如果他的表單的方法設置爲GET,他的代碼將正常工作 –