197 votes

Que signifie le message d'erreur PHP "Notice : Use of undefined constant" (Utilisation d'une constante non définie) ?

PHP écrit cette erreur dans les journaux : "Notice : Use of undefined constant".

Erreur dans les journaux :

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)

Lignes de code pertinentes :

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

Qu'est-ce que ça veut dire et pourquoi je le vois ?

1voto

Hackbal Teamz Points 671

Insérez des guillemets simples.

Exemple

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

1voto

Srihari Goud Points 151

La manière correcte d'utiliser les variables post est

<?php

$department = $_POST['department'];

?>

Utilisez des guillemets simples (')

0voto

Venkat Points 288

Il semble que les constantes de récupération prédéfinies aient disparu avec l'extension MySQL, nous devons donc les ajouter avant la première fonction...

//constantes de recherche prédéfinies

define('MYSQL_BOTH',MYSQLI_BOTH);
define('MYSQL_NUM',MYSQLI_NUM);
define('MYSQL_ASSOC',MYSQLI_ASSOC);

J'ai testé et réussi.

0voto

Je ne suis pas sûr qu'il y ait une différence, j'utilise Code Igniter et j'utilise "" pour les noms et cela fonctionne très bien.

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

regards,

Jorge.

1 votes

Il n'y a pas de différence entre les guillemets simples et doubles dans ce cas.

2 votes

@RobbieAverill alors que dans ce cas, en fait, il n'y en a pas - puisque les chaînes entre guillemets simples affichent les choses telles quelles, alors que les chaînes entre guillemets doubles analyseront les caractères d'échappement et évalueront les variables, il est de bon ton d'utiliser des chaînes entre guillemets simples dans ce scénario.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X