Undefined variable

Résolu/Fermé
mirakanto - 8 août 2011 à 14:29
 mirakanto - 11 août 2011 à 13:53
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

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
8 août 2011 à 14:44
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!
0
Comment faire pour l'ajouter au résolu?Merci beacoup!ça m' a beacoup aider!
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
11 août 2011 à 09:46
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
mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
11 août 2011 à 09:54
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 +
0