PHP - Corriger l'erreur Undefined variable

L'erreur Undefined variable souvent apparaît pendant l'exécution du script PHP sous forme d'un message:

Notice: Undefined variable: nom_variable in C:\wamp\www\projet\index.php on line 14
ca signifie quoi cette erreur et comment la corriger ?

L'erreur Undefined variable est causée parce qu'elle soit :
- Elle n'a pas été déclarée dans le code.
- Elle est utilisée dans un autre fichier qui utilise le même nom de variable.
- Elle n'a pas été initialisée.

La méthode isset() détecte si la variable existe et initialisée. Encore, la méthode empty() est plus optimale parce qu'elle ne génère pas de message d'erreur.

Exemple:

foreach ($array as $item) {
    // faire quelque chose
    $count++;
}
La variable count n'a pas été définie, et dans ce cas l'erreur Undefined variable apparaît.
Pour corriger ça, ajouter la variable count avant la boucle sans oublier l'initialisation à zéro.

$count=0;
foreach ($array as $item) {
    // faire quelque chose
    $count++;
}
Exemple 2:

session_start();
// solution recommendée
$nom_utilisateur = $_SESSION['nom_utilisateur'];
if (empty($nom_utilisateur)) $nom_utilisateur = '';

Ou

// définir la variable au début de index.php
$nom_utilisateur = ''; 
$nom_utilisateur = $_SESSION['nom_utilisateur'];

Ou 

$nom_utilisateur = $_SESSION['nom_utilisateur'];
if (!isset($nom_utilisateur)) $nom_utilisateur = '';
Il ne faut pas oublier d'initialiser la session avec session_start() sinon le serveur ne va pas pouvoir identifier et lire les variables $_SESSION.

Ressources:
http://php.net/manual/en/function.empty.php
PHP: “Notice: Undefined variable”




Partager cet article
dimanche 8 octobre 2017

Voir aussi: