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
Susan Sarandonasal
2024-12-16 07:33:10473semak imbas

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]);

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)

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']);

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!

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