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:
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>
Dalam file2.php:
<?php print($HTTP_RAW_POST_DATA); ?>
Hasil yang dijangkakan:
input1=abc input2=def input2=ghi
Walau bagaimanapun, dengan pengekodan teks/biasa, terdapat tiada cara untuk membezakan nilai input1 dan input2 Hasilnya boleh jadi:
Perbezaan antara GET dan POST ialah:
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!