Rumah > pembangunan bahagian belakang > tutorial php > Mengapa PHP Membuang Ralat 'Penggunaan Pemalar Tidak Ditakrifkan', dan Bagaimana Saya Boleh Membetulkannya?

Mengapa PHP Membuang Ralat 'Penggunaan Pemalar Tidak Ditakrifkan', dan Bagaimana Saya Boleh Membetulkannya?

Susan Sarandon
Lepaskan: 2024-12-16 07:33:10
asal
464 orang telah melayarinya

Why Does PHP Throw a

Memahami Ralat PHP "Penggunaan Pemalar Tidak Tertakrif"

PHP sering mencatatkan ralat dalam bentuk "Notis: Penggunaan pemalar yang tidak ditentukan" . Ralat ini berlaku apabila PHP menemui rentetan literal sebagai ganti definisi malar. Dalam kes sedemikian, PHP menganggap bahawa rentetan adalah pemalar dan cuba mencari definisi yang sepadan.

Sebagai contoh, pertimbangkan coretan kod berikut:

$department = mysql_real_escape_string($_POST[department]);
$name = mysql_real_escape_string($_POST[name]);
$email = mysql_real_escape_string($_POST[email]);
$message = mysql_real_escape_string($_POST[message]);
Salin selepas log masuk

Kod ini akan menjana yang berikut ralat:

PHP Notice:  Use of undefined constant department - assumed 'department' (line 5)
PHP Notice:  Use of undefined constant name - assumed 'name' (line 6)
PHP Notice:  Use of undefined constant email - assumed 'email' (line 7)
PHP Notice:  Use of undefined constant message - assumed 'message' (line 8)
Salin selepas log masuk

Ralat ini menunjukkan bahawa PHP cuba mentafsir literal rentetan "jabatan," "nama," "e-mel," dan "mesej" sebagai pemalar. Walau bagaimanapun, memandangkan tiada pemalar sedemikian ditakrifkan, PHP menganggap bahawa ia adalah literal rentetan dan mengeluarkan mesej ralat "Penggunaan pemalar tidak ditentukan."

Menyelesaikan Ralat

Kepada selesaikan ralat ini, literal rentetan mesti disertakan dalam petikan apabila digunakan sebagai kunci tatasusunan dalam PHP. Sebagai contoh, coretan kod yang betul ialah:

$department = mysql_real_escape_string($_POST['department']);
$name = mysql_real_escape_string($_POST['name']);
$email = mysql_real_escape_string($_POST['email']);
$message = mysql_real_escape_string($_POST['message']);
Salin selepas log masuk

Dengan melampirkan kunci tatasusunan dalam petikan, PHP akan mentafsirkannya dengan betul sebagai literal rentetan dan bukannya pemalar, menghapuskan ralat "Penggunaan pemalar tidak ditentukan".

Atas ialah kandungan terperinci Mengapa PHP Membuang Ralat 'Penggunaan Pemalar Tidak Ditakrifkan', dan Bagaimana Saya Boleh Membetulkannya?. 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