Rumah > pembangunan bahagian belakang > tutorial php > Mengapakah `enctype='text/plain'` tidak serasi dengan kaedah POST dalam bentuk HTML?

Mengapakah `enctype='text/plain'` tidak serasi dengan kaedah POST dalam bentuk HTML?

Barbara Streisand
Lepaskan: 2024-12-16 04:37:11
asal
878 orang telah melayarinya

Why is `enctype=

Mengapa "method="post" enctype="text/plain"" tidak serasi?

Apabila menggunakan kaedah pengekodan borang HTML "post" dengan "enctype="text/plain"," data borang gagal dihantar ke skrip PHP. Apakah sebab di sebalik isu ini? Mengapa pengekodan teks/biasa tidak serasi dengan siaran sedangkan ia dibenarkan dengan get?

Penjelasan

PHP tidak menyokong "enctype="text/plain"" untuk " method="post"; ia bukan pepijat program.

Nilai yang diluluskan untuk "enctype" dalam bentuk ialah:

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

Pilihan pertama ialah lalai, manakala yang kedua adalah penting untuk muat naik fail.

PHP tidak mengisi tatasusunan $_POST apabila "enctype="text/plain"" digunakan sebaliknya, ia menyimpan nilai dalam $HTTP_RAW_POST_DATA.

Potensi Isu dengan Pengekodan Teks/Plain

Pertimbangkan senario berikut:

Dalam 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>
Salin selepas log masuk

Dalam file2.php:

<?php
print($HTTP_RAW_POST_DATA);
?>
Salin selepas log masuk

Hasil yang dijangkakan:

input1=abc
input2=def
input2=ghi
Salin selepas log masuk

Walau bagaimanapun, dengan pengekodan teks/biasa, terdapat tiada cara untuk membezakan nilai input1 dan input2 Hasilnya boleh jadi:

  • input1=abcrninput2=def, input2=ghi
  • input1=abc, input2=defrninput2=ghi

Perbezaan antara GET dan POST ialah:

  • GET pembolehubah muncul dalam URL sebagai pertanyaan rentetan dan mesti dikodkan URL, walaupun dengan enctype="text/plain."
  • Pembolehubah POST dihantar dalam pengepala akhir permintaan HTTP (POSTDATA), membenarkan pengekodan sama ada sebagai teks/plain atau aplikasi/x -www-form-urlencoded. Walau bagaimanapun, yang terakhir lebih disukai untuk mengelakkan kekaburan.

Atas ialah kandungan terperinci Mengapakah `enctype='text/plain'` tidak serasi dengan kaedah POST dalam bentuk HTML?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan