PHP Get et Empty
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,je souhaite récupérer les données GET d'une url :
127.0.0.1/infovehicule.php?id=4&vnvo=vo
Le problème est que sa me renvoi la valeur "1" au-lieu de "vo"
Si j'enlève !empty() la c'est bon ! mais si une personne modifie le lien il y aura des erreurs...
127.0.0.1/infovehicule.php?id=4&vnvo=vo
<?php $vechicule = !empty($_GET['vnvo']); echo $vechicule; ?>
Le problème est que sa me renvoi la valeur "1" au-lieu de "vo"
Si j'enlève !empty() la c'est bon ! mais si une personne modifie le lien il y aura des erreurs...
A voir également:
- PHP Get et Empty
- Remove empty directories - Télécharger - Nettoyage
- Get data back - Télécharger - Récupération de données
- Easy php - Télécharger - Divers Web & Internet
- Eagle get - Télécharger - Web & Internet
- Get youtube - Télécharger - Téléchargement & Transfert
2 réponses
Salut,
C'est normal empty permet de tester une variable et revoit un booléen en gros si c'est pas vide ça vaut 1 et si c'est vide ça vaut 0. Pour que ça marche comme tu le souhaite il faut l'utiliser dans une condition :
Là en gros ça dit : "si c'est pas vide alors $vehicule vaut la valeur du paramètre vnvo" et tu peux compléter avec else pour dire : "par contre si c'est vide ..."
Si tu peux tester une variable fais le dans une condition sinon il te reverras juste le résultat de la fonction : 0 ou 1.
Je sais pas si j'ai bien expliqué, sinon ben je te donnerai des exemples plus percutant.
Allez à plus ;)
Edit : par contre si le paramètre est vide tu aura une erreurs du genre Parse error: parse error, unexpected T_VARIABLE, et ça c'est compréhensible puisque tu ne déclare la variable que si le paramètre n'est pas vide donc si c'est vide tu essais d'afficher une variable qui n'existe pas :)
La chance aide parfois, le travail toujours !
C'est normal empty permet de tester une variable et revoit un booléen en gros si c'est pas vide ça vaut 1 et si c'est vide ça vaut 0. Pour que ça marche comme tu le souhaite il faut l'utiliser dans une condition :
<?php if (!empty($_GET['vnvo'])) $vechicule = $_GET['vnvo']; echo $vechicule; ?>
Là en gros ça dit : "si c'est pas vide alors $vehicule vaut la valeur du paramètre vnvo" et tu peux compléter avec else pour dire : "par contre si c'est vide ..."
Si tu peux tester une variable fais le dans une condition sinon il te reverras juste le résultat de la fonction : 0 ou 1.
Je sais pas si j'ai bien expliqué, sinon ben je te donnerai des exemples plus percutant.
Allez à plus ;)
Edit : par contre si le paramètre est vide tu aura une erreurs du genre Parse error: parse error, unexpected T_VARIABLE, et ça c'est compréhensible puisque tu ne déclare la variable que si le paramètre n'est pas vide donc si c'est vide tu essais d'afficher une variable qui n'existe pas :)
La chance aide parfois, le travail toujours !
Merci beaucoup pour ton explication complète même si j'ai trouvai entre temps :
Mais au moins maintenant je serrai pourquoi sa me renvoyé "1"
EDIT : J'ai aussi fait des conditions dans la condition principale afin de ne pas avoir d'erreur si le paramètre est vide ou si il ne correspond pas à vn ou vo (véhicule neuf / véhicule occasion)
if (!empty($_GET['vnvo']) && !empty($_GET['id'])) { $vehiculetype = htmlentities($_GET['vnvo']); $vehiculeid = htmlentities($_GET['id']); } else { echo '<center><b>Veuillez passer par la liste de véhicule !</b></center>'; }
Mais au moins maintenant je serrai pourquoi sa me renvoyé "1"
EDIT : J'ai aussi fait des conditions dans la condition principale afin de ne pas avoir d'erreur si le paramètre est vide ou si il ne correspond pas à vn ou vo (véhicule neuf / véhicule occasion)