PHP Get et Empty

Résolu
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

<?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...



--
http://www.mypelemele.fr

2 réponses

  1. Utilisateur anonyme
     
    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 :

    <?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 !
    0
  2. Utilisateur anonyme
     
    Merci beaucoup pour ton explication complète même si j'ai trouvai entre temps :

    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)

    0