Tomcube
Messages postés311Date d'inscriptionvendredi 4 avril 2003StatutMembreDernière intervention14 septembre 2004
-
18 oct. 2003 à 21:36
Tomcube
Messages postés311Date d'inscriptionvendredi 4 avril 2003StatutMembreDernière intervention14 septembre 2004
-
19 oct. 2003 à 20:28
Salu !
La sortie de EasyPHP 1.7 m'a permi de découvrir une nouvelle version de PHP, la 4.3.3 qui met le register_global ... à OFF. Après des recherches, j'ai appri que c t pour des raisons de sécurité. Et j'en suis entièrement convaincu. Je décide alors de mettre à jour mon code. Mais là, y'a un hic pour les variables passées en URL!
Dans ma page, liens.php, il y a 3 possibilité dans l'URL :
- Soit c'est "liens.php"
- Soit c'est "liens.php?op=blabla"
- Soit c'est "liens.php?type=blablabla"
Dans mon code (non modifié >> register_global==ON) je teste donc si il y a $op
if ($op)
{ // instructions }
mais le problème c'est que si c'est la possibilité N°3 ou N°1 de mon URL, $_GET["op"] n'existe pas. Donc ça m'affiche une vieille erreur "Undefined index op in liens.php on line xx"
Comment dois-je modifier mon code pour qu'il soit correct ?
Tomcube
Messages postés311Date d'inscriptionvendredi 4 avril 2003StatutMembreDernière intervention14 septembre 20041 18 oct. 2003 à 23:19
J'ai l'impression que ça marche avec isset.
Au lieu de faire ça :
if(!$op)
{
//instructions
}
qui me donnait une erreur de type Note
J'ai fait ça :
if(!isset($_GET["op"])
{
//instructions
}
Ca à l'air de fonctionner.
Si c'est une bonne solution, ça pourrait servir à d'autres dans la même situation que moi !!
P.S. : j'ai posté 2-3 topics depuis 2 jours sur PHPCS et sur GraphCS, et les seules réponses (même si ce n'est pas de réponse à ma question que j'ai posé) viennent ... de moi ... !