Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Saya Mendapat Ralat 'Penggunaan Pemalar Tidak Tertakrif' dalam PHP?
Penggunaan Pemalar Tidak Ditakrifkan: Memahami Ralat PHP
Ralat "Penggunaan pemalar tidak ditentukan" dalam PHP menunjukkan bahawa anda cuba merujuk pemalar yang belum ditakrifkan dalam skop semasa kod anda. Pemalar ialah nilai dinamakan yang kekal tidak berubah sepanjang pelaksanaan skrip dan dilambangkan dengan kata kunci const atau dengan ditulis dalam ALL_CAPS.
Penjelasan Ralat
Dalam kod anda :
$department = mysql_real_escape_string($_POST[jabatan]);
$name = mysql_real_escape_string($_POST[name]);
$email = mysql_real_escape_string($_POST[email]);
$message = mysql_real_escape_string($_POST[message]);
Anda menggunakan kekunci tatasusunan ("jabatan," "nama," "e-mel," "mesej") sebagai argumen kepada mysql_real_escape_string () fungsi. Walau bagaimanapun, kunci ini tidak ditakrifkan sebagai pemalar, jadi PHP mentafsirkannya sebagai rentetan.
Resolusi
Untuk menyelesaikan ralat ini, sertakan kunci tatasusunan anda dalam petikan:
$jabatan = 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 berbuat demikian, anda mentakrifkan kekunci tatasusunan sebagai pembolehubah dan menghapuskan keperluan untuk penggunaan pemalar tidak ditentukan.
Tambahan Maklumat
Sebelum PHP 8, penggunaan pemalar yang tidak ditentukan menghasilkan notis. Walau bagaimanapun, dari PHP 8 dan seterusnya, ia mencetuskan ralat. Perubahan ini dibuat untuk meningkatkan kualiti kod dan mengelakkan potensi isu yang mungkin timbul daripada tafsiran pemalar tidak ditentukan sebagai rentetan.
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Penggunaan Pemalar Tidak Tertakrif' dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!