Forum Clubic

PHP transmission de variable : ID

Bonjour tous

laissez moi planter le décors :

Depuis mon site, un script me permet d’ajouter des références de CD via un formulaire à ma DB. (Donc j’ajoute un titre, une édition , des images, une tracklist, code bar etc…). A chaque ajout, ma db associe un ID à chaque CD (donc le 10ème CD ajouté aura l’id 10 lol). Ces informations sont affichés par une page : database.php

Ce que je cherche à faire avec cet ID :

Toujours sur ce site, une page reprend tous les CD que j’ajoute. Chaque élément de cette page dispose d’un lien pour afficher une page avec toutes ses infos (celles que j’entres depuis le formulaire introduit ci-dessu). Au lieu de créer une page par objet, serait il possible de faire une transmission de variables, et utiliser l’id de l’objet en question pour l’afficher dans la page database.php ? Exemple :

<a href="database.php?id=9">LIEN</a>

J’ai déja essayé ce code mais ca ne marche pas… quand j’arrive sur la page elle affiche toujours le dernier CD ajouté.

Merci pour votre aide :slight_smile:

?

Et si tu fais : var_dump($_GET); dans la page database.php? Tu verras, y aurait un index “id” sur le tableau $_GET (genre $_GET[‘id’]).

non, mais j’ai trouvé cette ligne dans la page d’ajout (avec le formulaire)

$retour = mysql_query('SELECT * FROM collection_item_form WHERE id=\'' . $_GET['modifier_collection_item_form'] . '\'');

Oulah… tu as une injection SQL possible (regarde google, j’ai la flemme de me répéter)

Bonjour,
alors essai tout simplement ça

$retour = mysql_query('SELECT * FROM collection_item_form WHERE id=\'' . $_GET['id'] . '\'');

ça devrait marcher. :slight_smile:

Whouw splendide, ca marche nickel !
Un grand merci vieu
Edité le 25/06/2009 à 14:59

www.php.net… : "La directive PHP magic_quotes_gpc est à on par défaut, et elle appelle addslashes() sur toutes les données GET, POST et COOKIE. "

Donc à priori, pas de souci.

Sauf qu’elle est désactivée par défaut dans les nouvelles versions de PHP… et addslashes ne protège pas de tout. C’est mysql_real_escape_string qu’il faut utiliser pour mySQL, POINT.

Une âme charitable pour mettre à jour la doc php ? :smiley:

Cadeau :

www.php.net…