Undefined variable

Résolu
Bonjour,

J'ai un variable qui est déjà définie mais il renvoie toujours un erreur Notice: undefined variable id in /var/www/....
Voici mon code:
if(isset($_GET["id_membre"]))
$id = $_GET['id_membre'];

$query = mysql_query("SELECT * FROM membres WHERE id_membre='$id'") OR die(mysql_error());

Merci d'avance pour votre soutien!

Cordialement!
mirakanto

3 réponses

  1. Bonjour,

    ATTENTION FAILLE SECURITE

    tel que vous avez écrit votre code, c'est le meilleur moyen pour avoir une injection de code SLQ. Correction sécurisée:

    if(isset($_GET["id_membre"])) {
    $id = (int) $_GET['id_membre'];
    }

    car je suppose que l'ID du membre est un nombre entier (clé auto-incrémentale)...

    J'ai simplement rajouté (int) qui force en entier numérique le contenu de $_GET['id_membre']

    Si on entre du code SQL, la valeur sera nulle, il n'y aura aucun risque d'exécuter ce code injecté.

    A+
    1. Merci beaucoup mpmp93!ça m'a beaucoup aider! A +
  2. pour pouvoir mettre en résolu tu dois il me semble être membre de Commentcamarche c'est a dire que tu dois t'inscrire sur le site, c'est gratuit et sans engagement.
    1. Salut
      if(isset($_GET["id_membre"]))
      $id = $_GET['id_membre'];

      $query = mysql_query("SELECT * FROM membres WHERE id_membre='$id'") OR die(mysql_error());


      est ce un oubli ou as tu enlevé les {}

      prend l'habitude de les mettre systématiquement même si une seule instruction pour un test conditionnel si tu dois en rajouter une autre tu vas oublier:

      if(isset($_GET["id_membre"])){
         $id = $_GET['id_membre'];
      
         $query = mysql_query("SELECT * FROM membres WHERE    id_membre='$id'") OR die(mysql_error()); 
      
      }


      tel que tu avait fait seule l'instruction $id = $_GET['id_membre']; était liée au test conditionnel if(isset...

      donc l'instruction $query=... qui contenait la variable $id sortait une erreur
      1. Merci beaucoup Alain!il est résolu mais un autre problème apparaît! Notice: Undefined variable: query in /var/www/Pagemembres/ajour.php on line 17 Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in /var/www/Pagemembres/ajour.php on line 17 Mettez à jour votre profil!
      2. Comment faire pour l'ajouter au résolu?Merci beacoup!ça m' a beacoup aider!