Undefined variable
Résolu
mirakanto
-
mirakanto -
mirakanto -
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
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
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:
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
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
mirakanto
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!
mirakanto
Comment faire pour l'ajouter au résolu?Merci beacoup!ça m' a beacoup aider!
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.
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+
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+