這個問題在這里已經有了答案: method="post" enctype="text/plain" 不兼容? (2 個回答) 3天前關閉。
我找不到錯誤。為什么我的結果頁面沒有收到來自我的表單的 POST 變數?我的var_dump總是得到一個空陣列。這里有人可以幫我嗎?代碼非常簡單,以至于我不知道我可以洗掉哪些其他可能的錯誤源。如果我切換到 GET,它會立即生效。
我正在我的 Debian 舊穩定系統上對此進行測驗,多年來我一直在使用該系統,但沒有出現任何問題。(但它也不適用于我的外部托管 Web 服務器。)
我的form.php:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="device-width, initial-scale=1">
<title>Form page</title>
</head>
<body>
<form name="test" action="result.php" enctype="text/plain" method="post">
<select name="chose">
<option value="1">one</option>
<option value="2">two</option>
<option value="3">three</option>
</select>
<input type="submit" value="save">
</form>
</body>
</html>
我的結果.php:
<?php
var_dump($_POST);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="device-width, initial-scale=1">
<title>Result page</title>
</head>
<body>
<h1>Result</h1>
<p><a href="form.php">return</a></p>
</body>
</html>
我想我在這里瘋了。我必須忽略一些簡單得驚人的東西。
uj5u.com熱心網友回復:
enctype="text/plain"旨在以人類可讀的格式呈現表單資料以進行除錯。它不是機器可處理的(例如,您無法區分資料中的新行和條目之間的新行)。
洗掉它。
(無論如何我認為它對除錯不是很好,瀏覽器內置的開發工具可以以人類可讀的格式顯示 URL 編碼資料)
$_POST當資料被編碼為application/x-www-form-urlencoded(表單的默認值)或multipart/form-data(支持檔案上傳的更粗的格式)時, PHP 將自動填充。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/425174.html
上一篇:使用表單創建和更新模型物件
