Rumah >pembangunan bahagian belakang >tutorial php >Mengapakah Menggunakan `enctype='text/plain'` dengan Permintaan POST Menyebabkan Masalah dalam PHP?

Mengapakah Menggunakan `enctype='text/plain'` dengan Permintaan POST Menyebabkan Masalah dalam PHP?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-24 06:09:22602semak imbas

Why Does Using `enctype=

"method="post" enctype="text/plain": Isu Keserasian

Apabila menggunakan elemen borang dengan kedua-dua kaedah= "post" dan enctype="text/plain", pengguna mungkin menghadapi masalah dengan penghantaran data ke fail PHP yang ditentukan Ini kerana PHP tidak menyokong pengendalian pengekodan teks/plain POST data.

Mengapakah pengekodan teks/biasa bermasalah?

Nilai sah untuk enctype termasuk application/x-www-form-urlencoded dan multipart/form-data. Yang pertama ialah lalai untuk permintaan POST, manakala yang kedua digunakan semasa memuat naik fail.

Apabila pengekodan teks/biasa digunakan dengan POST, PHP menyimpan data bentuk mentah dalam pembolehubah $HTTP_RAW_POST_DATA dan bukannya mengisi tatasusunan $_POST Ini boleh membawa kepada ketidakkonsistenan dan kekaburan dalam mengakses nilai borang.

Contoh<.>

Pertimbangkan perkara berikut borang:

<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>
Dalam fail PHP yang sepadan:

print($HTTP_RAW_POST_DATA);

Keputusan:

input1=abc
input2=def
input2=ghi
Seperti yang dilihat di atas, adalah mustahil untuk bezakan antara nilai input1 dan input2, kerana ia boleh sama ada input1=abcrninput2=def, input2=ghi atau input1=abc, input2=defrninput2=ghi.

Tidak seperti permintaan POST, permintaan GET sentiasa mengekod URL rentetan pertanyaan, walaupun jika enctype="text/plain" ditentukan. Ini kerana pembolehubah adalah sebahagian daripada URL itu sendiri.

Atas ialah kandungan terperinci Mengapakah Menggunakan `enctype='text/plain'` dengan Permintaan POST Menyebabkan Masalah dalam PHP?. 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