Heim >Backend-Entwicklung >PHP-Tutorial >Warum verursacht die Verwendung von „enctype='text/plain'` mit POST-Anfragen Probleme in PHP?

Warum verursacht die Verwendung von „enctype='text/plain'` mit POST-Anfragen Probleme in PHP?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-24 06:09:22603Durchsuche

Why Does Using `enctype=

"method="post" enctype="text/plain": Ein Kompatibilitätsproblem

Bei Verwendung des Formularelements mit beiden method= „post“ und enctype="text/plain", können bei der Datenübertragung an die angegebene PHP-Datei Probleme auftreten. Dies liegt daran, dass PHP die Verarbeitung von Text/Plain-Kodierung für POST nicht unterstützt data.

Warum ist die Text-/Plain-Kodierung problematisch?

Zu den gültigen Werten für enctype gehören application/x-www-form-urlencoded und multipart/form-data Die erste ist die Standardeinstellung für POST-Anfragen, während die zweite beim Hochladen von Dateien verwendet wird.

Wenn Text/Plain-Kodierung mit POST, PHP verwendet wird speichert die Rohdaten des Formulars in der Variablen $HTTP_RAW_POST_DATA, anstatt das Array $_POST zu füllen. Dies kann zu Inkonsistenzen und Mehrdeutigkeiten beim Zugriff auf Formularwerte führen.

Beispiel

Bedenken Sie das folgende Formular:

<form method="post" enctype="text/plain" action="proc.php">
  <textarea name="input1">abc
input2=def</textarea>
  <input name="input2" value="ghi" />
  <input type="submit">
</form>

Im entsprechenden PHP Datei:

print($HTTP_RAW_POST_DATA);

Ergebnis:

input1=abc
input2=def
input2=ghi

Wie oben gesehen, ist es unmöglich, zwischen den Werten von Eingabe1 und Eingabe2 zu unterscheiden, da es sich um Eingabe1 handeln könnte =abcrninput2=def, input2=ghi oder input1=abc, input2=defrninput2=ghi.

Im Gegensatz zu POST-Anfragen kodieren GET-Anfragen die Abfragezeichenfolge immer per URL, auch wenn enctype="text/plain" angegeben ist. Dies liegt daran, dass die Variablen Teil der URL selbst sind.

Das obige ist der detaillierte Inhalt vonWarum verursacht die Verwendung von „enctype='text/plain'` mit POST-Anfragen Probleme in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn