Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Menghalang PHP daripada Menggantikan Titik dengan Garis Bawah dalam Nama Pembolehubah GET, POST dan COOKIE?

Bagaimanakah Saya Boleh Menghalang PHP daripada Menggantikan Titik dengan Garis Bawah dalam Nama Pembolehubah GET, POST dan COOKIE?

Mary-Kate Olsen
Lepaskan: 2024-12-11 01:59:09
asal
822 orang telah melayarinya

How Can I Prevent PHP from Replacing Dots with Underscores in GET, POST, and COOKIE Variable Names?

PHP: Halang Penggantian Aksara dalam Nama GET, POST dan COOKIE

PHP secara automatik menggantikan titik dalam nama pembolehubah masuk dengan garis bawah. Tingkah laku ini boleh menjadi tidak diingini dalam beberapa kes. Bagaimanakah kita boleh melumpuhkannya?

Mengapa PHP Menggantikan Titik

Menurut PHP.net, titik bukan aksara yang sah dalam nama pembolehubah. Penghurai akan mentafsirkan "varname.ext" sebagai pembolehubah bernama "varname" diikuti oleh operator gabungan dan rentetan "ext", yang bukan hasil yang dimaksudkan.

Alternatif

Walaupun percubaan untuk menghalang tingkah laku ini, mekanisme penghuraian PHP menjadikannya perlu. Walau bagaimanapun, terdapat cara untuk mengatasinya:

  • Pembolehubah POST: Gunakan str_replace untuk menggantikan garis bawah dengan titik sebelum mengakses pembolehubah POST:
$_POST['x.y'] = str_replace('_', '.', $_POST['x_y']);
Salin selepas log masuk
  • GET dan COOKIE Pembolehubah: Gunakan pembolehubah global corak penggantian dalam fail .htaccess anda untuk menggantikan garis bawah dengan titik sebelum PHP menghuraikan permintaan:
RewriteEngine On
RewriteRule .* - [E=DOT:_]
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghalang PHP daripada Menggantikan Titik dengan Garis Bawah dalam Nama Pembolehubah GET, POST dan COOKIE?. 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