2 回答
TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個(gè)贊
功能上沒(méi)有什么問(wèn)題isset。這甚至不是 PHP 相關(guān)的問(wèn)題。
這都是關(guān)于表單提交編碼的。表單有 3 種有效的編碼類型:
application/x-www-form-urlencoded(默認(rèn))multipart/form-datatext/plain
您正在使用第三個(gè),其記錄如下:
使用該
text/plain格式的有效負(fù)載旨在便于人類閱讀。它們無(wú)法被計(jì)算機(jī)可靠地解釋,因?yàn)楦袷讲幻鞔_(例如,無(wú)法區(qū)分值中的文字換行符和值末尾的換行符)。
您沒(méi)有獲得任何POST變量,因?yàn)?PHP$_POST在使用enctype="text/plain".
在 superglobal的文檔中$_POST:
application/x-www-form-urlencoded當(dāng)使用或?multipart/form-data作為請(qǐng)求中的 HTTP Content-Type時(shí),通過(guò) HTTP POST 方法傳遞到當(dāng)前腳本的變量的關(guān)聯(lián)數(shù)組。
話雖如此,您仍然可以從請(qǐng)求正文中讀取原始數(shù)據(jù)。
$data?=?file_get_contents('php://input');但您將獲得字符串(純文本)形式的整個(gè)數(shù)據(jù)。
最后但并非最不重要的一點(diǎn)是,要小心,php://input不適用于enctype="multipart/form-data".
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊
isset($_POST['submit'])如果表單上有多個(gè)提交按鈕,則不要使用引用提交按鈕,因?yàn)樵摪粹o并不總是被按下。這在過(guò)去給我?guī)?lái)了問(wèn)題。
在任何字段上按 Enter 鍵將提交表單,并且第一個(gè)提交按鈕可用。
使用其中一個(gè)字段。在你的情況下你可以使用if (isset($_POST['name'])){
- 2 回答
- 0 關(guān)注
- 180 瀏覽
添加回答
舉報(bào)
