Maison > développement back-end > tutoriel php > Pourquoi PHP génère-t-il une erreur « Utilisation d'une constante non définie » et comment puis-je la corriger ?

Pourquoi PHP génère-t-il une erreur « Utilisation d'une constante non définie » et comment puis-je la corriger ?

Susan Sarandon
Libérer: 2024-12-16 07:33:10
original
468 Les gens l'ont consulté

Why Does PHP Throw a

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]);
Copier après la connexion

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)
Copier après la connexion

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']);
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal