Heim >Backend-Entwicklung >PHP-Tutorial >Warum ist „enctype='text/plain'` nicht mit der POST-Methode in HTML-Formularen kompatibel?
Warum ist „method="post" enctype="text/plain"" nicht kompatibel?
Bei Verwendung der HTML-Formularkodierungsmethode „post“ mit „enctype="text/plain", Formulardaten können nicht an das PHP-Skript übermittelt werden. Was ist der Grund für dieses Problem? Warum ist die Text-/Plain-Codierung mit Post nicht kompatibel, während sie mit Get zulässig ist?
Erklärung
PHP unterstützt „enctype="text/plain"“ nicht für „ method="post"; es handelt sich nicht um einen Programmfehler.
Genehmigte Werte für „enctype“ in einem Formular sind:
Die erste Option ist die Standardeinstellung, während die zweite Option ist ist für Datei-Uploads unerlässlich.
PHP füllt das $_POST-Array nicht, wenn Stattdessen wird „enctype="text/plain“ verwendet; der Wert wird in $HTTP_RAW_POST_DATA gespeichert.
Potenzielle Probleme mit der Text-/Plain-Kodierung
Berücksichtigen Sie Folgendes: folgendes Szenario:
In file1.php:
<form method="post" enctype="text/plain" action="file2.php"> <textarea name="input1">abc input2=def</textarea> <input name="input2" value="ghi" /> <input type="submit"> </form>
In file2.php:
<?php print($HTTP_RAW_POST_DATA); ?>
Das erwartete Ergebnis:
input1=abc input2=def input2=ghi
Bei Text-/Plain-Codierung gibt es jedoch eines Es gibt keine Möglichkeit, die Werte von Eingabe1 und Eingabe2 zu unterscheiden sei:
Der Unterschied zwischen GET und POST ist das:
Das obige ist der detaillierte Inhalt vonWarum ist „enctype='text/plain'` nicht mit der POST-Methode in HTML-Formularen kompatibel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!