undefined variable

Petit nouveau ! | 2 Messages

08 nov. 2011, 18:10

bonjour
voila mon code sur ma page index.php:
<?php if($erreur=='1'){?>
<font size="4" face="Arial, Helvetica, sans-serif"><strong><font size="5">Erreur</font></strong>
dans le<strong> Login</strong> ou le <strong>mot de passe</strong></font>
<?php }?>

et voila mon message d'erreur:
Notice: Undefined variable: erreur in C:\Program Files\EasyPHP-5.3.8.0\www\index.php on line 17

pourtant cet page marche bien dans easyphp 1.8

pouvez vous m'aider

cordialement
saxko

Mammouth du PHP | 672 Messages

08 nov. 2011, 18:18

Bonjour.

Notice: Undefined variable: erreur in C:\Program Files\EasyPHP-5.3.8.0\www\index.php on line 17
Note : Variable non définie : (concerne la variable) erreur dans le fichier C:\Program Files\EasyPHP-5.3.8.0\www\index.php, à la ligne 17.

Tu essayes d'utiliser une variable qui n'existe pas, forcément ça bloque...
Question : comment récupères-tu (théoriquement) cette variable ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

09 nov. 2011, 21:44

Dans easyphp 1.8, l'attribut register_globals est à ON. Ceci a pour effet que tu peux traiter les variables envoyées en get, post, cookie et session simplement en faisant appel à $nom_variable sans préciser s'il s'agit d'une variable de session, d'un post, d'un get ou d'un cookie.

Ce comportement a été modifié pour des raisons de sécurité et l'attribut est passé à OFF par défaut (et va même disparaitre dans les prochaines versions de php). Du coup, si tu veux récupérer une variable passée via l'url, il faut utiliser $_GET['ta_variable']. Pour du post, les cookies ou les sessions on utilise respectivement $_POST, $_COOKIE et $_SESSION.
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...