Requête sql et bouton
Posté : 11 févr. 2012, 15:29
Bonjour.
J'essaye de créer une boutique par mes propres moyens, j'ai déjà créer une liste avec l'image des produits et un bouton commander en dessous.
Cependant, j'ai un soucis, quand je clique sur commander, j'arrive sur la page ou mon produit est défini, mais le produit s'ajoute au panier avant même que j'ai cliqué sur Ajouter au panier.
Je sèche un peu sur le moyen d'activer ma requête sql à travers ce bouton.
Voici le code :
Donc je cherche le moyen d’exécuter ma requête, puis de recharger la page et afficher que l'ajout au panier a été fait.
D'avance, merci. Cordialement.
Edit : Excusez moi je viens de trouver la solution :
Cependant j'ai un autre problème, quand le produit a déjà été ajouté, mes liens Voir votre panier et Retour à la boutique ne s'affiche pas.
J'essaye de créer une boutique par mes propres moyens, j'ai déjà créer une liste avec l'image des produits et un bouton commander en dessous.
Cependant, j'ai un soucis, quand je clique sur commander, j'arrive sur la page ou mon produit est défini, mais le produit s'ajoute au panier avant même que j'ai cliqué sur Ajouter au panier.
Je sèche un peu sur le moyen d'activer ma requête sql à travers ce bouton.
Voici le code :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="<?php echo $design; ?>defaut/style.css" rel="stylesheet" title="Style" />
</head>
<div class="content"><center>
<?php
// Connexion à la base de donnée
mysql_connect(DB_HOST, DB_LOGIN, DB_PASS) or die('<h1>Connexion au serveur impossible !</h1>');
mysql_select_db(DB_BDD) or die('<h1>Connexion impossible à la base</h1>');
//On verifie que le produit est choisi
if(isset($_GET['id']))
{
$id = intval($_GET['id']);
//On verifie que le produit existe
$dn = mysql_query('select produit, image, prix, cat from boutique where id="'.$id.'"');
if(mysql_num_rows($dn)>0)
{
$dnn = mysql_fetch_array($dn);
//On affiche les donnees du produit
?>
Voici votre produit : "<?php echo htmlentities($dnn['produit']); ?>" :
<table style="width:500px;">
<tr><td>
<?php
if($dnn['image']!='')
{
echo '<br /><img src="'.htmlentities($dnn['image'], ENT_QUOTES, 'UTF-8').'" alt="Image" style="max-width:100px;max-height:100px;" />';
}
else
{
echo 'Il n\y a pas d\'image pour cet article.';
}
?>
</td>
<td class="left"><?php echo htmlentities($dnn['produit'], ENT_QUOTES, 'UTF-8'); ?><br /><br />
prix: <?php echo htmlentities($dnn['prix'], ENT_QUOTES, 'UTF-8'); ?><br /></td>
</tr>
</table>
<?php
}
else
{
echo 'Ce produit n\'existe pas.';
}
}
else
{
echo 'Vous n\'avez commander aucun produit.';
}
?>
<br/>
<?php
echo '<a href="index.php?site=command">Ajouter au panier';
$sql="INSERT INTO panier (membre, id_produit) VALUES ('$username', '$id') ";
$req= mysql_query($sql) or die('<font color="red">Vous avez déjà ajouté cet article</font><br />');
echo '</a>';
echo 'Produit ajouté au panier <br/>';
echo '<a href="index.php?site=panier">Voir votre panier</a><br/>';
echo '<a href="index.php?site=boutique">Retour à la boutique</a>';
?></center>
Donc je cherche le moyen d’exécuter ma requête, puis de recharger la page et afficher que l'ajout au panier a été fait.
D'avance, merci. Cordialement.
Edit : Excusez moi je viens de trouver la solution :
<?php
echo "<br/>
<form method='post'>
<input type=submit name='ajout' value='Ajouter au panier'\><br>
</form>
";
echo '<br/>';
if (isset($_POST['ajout']))
{
$ajout="INSERT INTO panier (membre, id_produit) VALUES ('$username', '$id') ";
$req= mysql_query($ajout) or die ('Vous avez déjà ajouté cet article <br/>');
echo 'Produit ajouté au panier';}
else {
}
echo '<br/>';
echo '<a href="index.php?site=panier">Voir votre panier</a><br/>';
echo '<br/>';
echo '<a href="index.php?site=boutique">Retour à la boutique</a>';
?></center>
Cependant j'ai un autre problème, quand le produit a déjà été ajouté, mes liens Voir votre panier et Retour à la boutique ne s'affiche pas.