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!