Heim > Backend-Entwicklung > PHP-Tutorial > Warum unterstützt POST „enctype='text/plain'` nicht, während GET dies tut?

Warum unterstützt POST „enctype='text/plain'` nicht, während GET dies tut?

Linda Hamilton
Freigeben: 2024-12-05 16:24:11
Original
404 Leute haben es durchsucht

Why Doesn't POST Support `enctype=

Inkompatibilität von method="post" und enctype="text/plain"

Beim Versuch, das folgende Formular zu verwenden:

<form method="post" enctype="text/plain" action="proc.php">
Nach dem Login kopieren

Bei der erfolgreichen Übertragung von Formulardaten an die Datei „proc.php“ können Schwierigkeiten auftreten. Was verursacht dieses Problem und warum ist es unmöglich, die „Text/Plain“-Kodierung mit der „Post“-Methode zu verwenden, während dies mit der „get“-Methode möglich ist?

Erklärung:

PHPs Unfähigkeit, die „Text/Plain“-Kodierung mit der „Post“-Methode zu verarbeiten, ist die Ursache dieses Problems (und es ist kein Problem). bug):

https://bugs.php.net/bug.php?id=33741

Für das „enctype“-Attribut im „

“ Tag sind die folgenden gültigen Werte:

  • application/x-www-form-urlencoded
  • multipart/form-data

Der erste Wert ist die Standardeinstellung, und die zweite ist nur für Datei-Uploads erforderlich.

Grund für PHPs Verhalten:

Alohci lieferte eine Erklärung dafür, warum PHP das Array $_POST nicht auffüllt und stattdessen den Wert in der Variablen $HTTP_RAW_POST_DATA speichert:

Unterscheidung zwischen GET und POST :

  • GET: Variablen werden als Abfragezeichenfolgen und in die URL eingefügt muss URL-kodiert sein. Auch mit „enctype=text/plain“ kodieren Browser URL-Variablen.
  • POST: Variablen sind nicht Teil der URL, werden aber als letzter Header in HTTP-Anfragen (POSTDATA) gesendet. Sie können angeben, ob sie als „text/plain“ oder „application/x-www-form-urlencoded“ gesendet werden sollen. Letzteres ist jedoch die einzige Option, die Mehrdeutigkeiten beseitigt.

Das obige ist der detaillierte Inhalt vonWarum unterstützt POST „enctype='text/plain'` nicht, während GET dies tut?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage