2 回答

TA貢獻(xiàn)1785條經(jīng)驗 獲得超8個贊
功能上沒有什么問題isset
。這甚至不是 PHP 相關(guān)的問題。
這都是關(guān)于表單提交編碼的。表單有 3 種有效的編碼類型:
application/x-www-form-urlencoded
(默認(rèn))multipart/form-data
text/plain
您正在使用第三個,其記錄如下:
使用該
text/plain
格式的有效負(fù)載旨在便于人類閱讀。它們無法被計算機可靠地解釋,因為格式不明確(例如,無法區(qū)分值中的文字換行符和值末尾的換行符)。
您沒有獲得任何POST
變量,因為 PHP$_POST
在使用enctype="text/plain"
.
在 superglobal的文檔中$_POST
:
application/x-www-form-urlencoded
當(dāng)使用或?multipart/form-data
作為請求中的 HTTP Content-Type時,通過 HTTP POST 方法傳遞到當(dāng)前腳本的變量的關(guān)聯(lián)數(shù)組。
話雖如此,您仍然可以從請求正文中讀取原始數(shù)據(jù)。
$data?=?file_get_contents('php://input');
但您將獲得字符串(純文本)形式的整個數(shù)據(jù)。
最后但并非最不重要的一點是,要小心,php://input
不適用于enctype="multipart/form-data"
.

TA貢獻(xiàn)1829條經(jīng)驗 獲得超4個贊
isset($_POST['submit'])
如果表單上有多個提交按鈕,則不要使用引用提交按鈕,因為該按鈕并不總是被按下。這在過去給我?guī)砹藛栴}。
在任何字段上按 Enter 鍵將提交表單,并且第一個提交按鈕可用。
使用其中一個字段。在你的情況下你可以使用if (isset($_POST['name'])){
- 2 回答
- 0 關(guān)注
- 151 瀏覽
添加回答
舉報