Undefined variable

1 message   •   Page 1 sur 1
Mammouth du PHP | 1885 Messages

08 févr. 2005, 00:55

Depuis EasyPHP 1.7, tout comme depuis PHP 4.2.0, plusieurs changements ont été apportés au fichier php.ini qui est en fait le fichier de configuration du moteur PHP. Tous ces changements vous ont certainement occasionnés de multiples messages d'erreurs ou d'avertissement plus ou moins importants concernant l'exécution de votre script. Vous avez donc sûrement eu plusieurs erreurs de ce type concernant certaines variables :

Code : Tout sélectionner

Undefined variable: xxx in yyy on line zzz Undefined index: xxx in yyy on line zzz Undefined offset: xxx in yyy on line zzz
Afin de régler ce problème, vous devez obligatoirement: Voici donc comment vérifier si une variable utilisée existe bel et bien et par le fait même, comment la déclarer en lui attribuant une valeur par défaut.
<?php
// Vérification de l'existence de la variable et déclaration
// Et récupération de sa valeur
$variable = isset($_POST['index']) ? $_POST['index'] : NlistL;
?>
Cette syntaxe utilise un opérateur ternaire qui vous permet de créer une structure conditionnelle rapidement en une seliste ligne. Ainsi lorsque la condition retourne vrai, la partie de gauche est retournée sinon celle de droite.
$result = ( condition ) ? 'vrai' : 'faux'
Nous vérifions l'existence de la variable demandée à l'aide de la fonction isset() et attribuons sa valeur à une variable choisie si elle existe sinon la valeur NULL (Vide).

Biensûr, plusieurs autres moyens sont utilisées afin de vérifier son existence mais tous ces moyens ont tous le même but : Vérifier l'existence de la variable à l'aide de la fonction isset().
<?php
if (isset($_POST['submit'])) {
	echo 'La variable a été soumise et contient la valeur suivante: ' , $_POST['submit'];
}
else {
	echo 'La variable n\'a pas été soumise';
}
?>
Les exemples cités plus haut ne tiennent nlistlement compte des problèmes de sécurité engendré lors de la soumission de valeur à l'aide de formlistaire. Il est donc fortement conseillée de protéger et sécuriser vos valeurs à l'aide des fonctions suivantes lorsque nécessaire :

1 message   •   Page 1 sur 1