Utilité de isset() et de !empty() pour tester une égalité

Mathieu -  
jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour, je voudrais savoir si il est néccessaire d'utiliser isset() et !empty() dans cet exemple:

 

if(isset($_GET['id'] AND !empty($_GET['id']) AND $_GET['id'] == 1) {

myFunction() ;
}


Car si la variable $_GET['id'] vaut 1, logiquement, elle existe et elle pas vide.

Merci d'avance pour votre réponse.

1 réponse

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour,

    !empty fait déjà un isset.
    Donc les deux ensembles ne sont pas nécessaires.

    Moi ce que je t'invite à faire, c'est de récupérer proprement la variable AVANT de l'utiliser
    $id = !empty($_GET['id']) ? intval($_GET['id']) : 0;
    if($id==1){
      myFunction() ;
    }
    


    Un peu de lecture au passage :
    https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code

    Et pour tes prochains messages, pense à indiquer le langage dans les balises de code afin d'avoir la coloration syntaxique, la numérotation des lignes...
    Explications à lire entièrement disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
    1