8795 sujets

Développement web côté serveur, CMS

Bonjour a tous , je vous explique la situation :

J'ai plusieurs produits sur mon site , chaque produit a un lien de ce type :

http://monsite.com/detail.php?id=X

X étant l'id d'un produit enregistrer dans ma base de donnée

Donc en gros je veux appeler l'id d'un produit dans une page qui détaileras ce dernier ...

Mais je veux insérer cette valeur (X) dans un script qui appelle une table mysql :

je mets donc ceci dans ma page :


if(!empty($_GET['id'])) {   
    $id = $_GET['id']; 
} else {    // Sinon on vérifie si le formulaire a été soumis 
    $id = !empty($_POST['id']) ? $_POST['id'] : ''; 
}


Et un peu plus bas dans la meme page ceci :


$reponse = $bdd->query('SELECT * FROM pointe_de_lance WHERE id=\' echo htmlspecialchars($id);\'');



comment mettre un echo dans cette variable ?

j'ai mi cela : echo htmlspecialchars($id); et rien ne se passe ?
Modifié par remif (23 Jan 2011 - 14:27)
Salut remif,

hem... il semblerait que tu débutes complètement en PHP auquel cas Alsacréations n'est pas le bon forum pour toi : (re)lire l'annonce.

La fonction echo permet de faire un affichage html ce qui n'est pas ce que tu dois faire ici puisqu'il te suffit juste d'utiliser cette variable dans ta requête :
$reponse = $bdd->query('SELECT * FROM pointe_de_lance WHERE id=' . $id);



Edit: au passage on peut supposer que id est numérique donc il serait plus propre de faire :
if(!empty($_GET['id'])) {    
    $id = intval($_GET['id']);
} else {    // Sinon on vérifie si le formulaire a été soumis  
    $id = !empty($_POST['id']) ? intval($_POST['id']) : 0;  
} 

Modifié par Heyoan (23 Jan 2011 - 13:05)