Rumah >pembangunan bahagian belakang >tutorial php >Mengapa POST Tidak Menyokong `enctype='text/plain'` Sementara GET Adakah?

Mengapa POST Tidak Menyokong `enctype='text/plain'` Sementara GET Adakah?

Linda Hamilton
Linda Hamiltonasal
2024-12-05 16:24:11387semak imbas

Why Doesn't POST Support `enctype=

Ketidakserasian method="post" dan enctype="text/plain"

Apabila cuba menggunakan borang berikut:

<form method="post" enctype="text/plain" action="proc.php">

anda mungkin menghadapi kesukaran untuk berjaya menghantar data borang ke fail "proc.php". Apakah yang menyebabkan masalah ini, dan mengapa mustahil untuk menggunakan pengekodan "teks/plain" dengan kaedah "post" sedangkan ia boleh dilakukan dengan kaedah "get"?

Penjelasan:

Ketidakupayaan PHP untuk mengendalikan pengekodan "teks/plain" dengan kaedah "post" adalah punca kepada isu ini (dan ia bukan pepijat):

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

Untuk atribut "enctype" dalam "

" teg, nilai sah berikut ialah:

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

Nilai pertama ialah lalai, dan yang kedua hanya diperlukan untuk muat naik fail.

Sebab PHP tingkah laku:

Alohci memberikan penjelasan mengapa PHP tidak mengisi tatasusunan $_POST dan sebaliknya menyimpan nilai dalam pembolehubah $HTTP_RAW_POST_DATA:

Perbezaan antara GET dan POST :

  • DAPATKAN: Pembolehubah disertakan dalam URL sebagai rentetan pertanyaan dan mesti dikodkan URL. Walaupun dengan "enctype=text/plain," penyemak imbas pembolehubah pengekodan URL.
  • POST: Pembolehubah bukan sebahagian daripada URL tetapi dihantar sebagai pengepala terakhir dalam permintaan HTTP (POSTDATA). Anda boleh menentukan sama ada untuk menghantarnya sebagai "teks/plain" atau "application/x-www-form-urlencoded", tetapi yang terakhir ialah satu-satunya pilihan yang menghapuskan kekaburan.

Atas ialah kandungan terperinci Mengapa POST Tidak Menyokong `enctype='text/plain'` Sementara GET Adakah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn