Comprendre l'erreur PHP "Utilisation d'une constante non définie"
PHP enregistre souvent des erreurs sous la forme de "Avis : Utilisation d'une constante non définie" . Cette erreur se produit lorsque PHP rencontre une chaîne littérale à la place d'une définition constante. Dans de tels cas, PHP suppose que la chaîne est une constante et tente de trouver une définition correspondante.
Par exemple, considérons l'extrait de code suivant :
$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]);
Ce code générera ce qui suit erreurs :
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)
Ces erreurs indiquent que PHP tente d'interpréter les chaînes littérales "département", "nom", "e-mail" et "message" comme constantes. Cependant, comme aucune constante de ce type n'est définie, PHP suppose qu'il s'agit de chaînes littérales et émet le message d'erreur "Utilisation d'une constante non définie."
Résoudre l'erreur
Pour Pour résoudre cette erreur, les chaînes littérales doivent être placées entre guillemets lorsqu'elles sont utilisées comme clés de tableau en PHP. Par exemple, l'extrait de code correct serait :
$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']);
En plaçant les clés du tableau entre guillemets, PHP les interprétera correctement comme des chaînes littérales plutôt que comme des constantes, éliminant ainsi l'erreur "Utilisation d'une constante non définie".
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!