Pb avec le tuto panier
Posté : 06 oct. 2006, 23:51
Bonjour,
j'ai utilisé le tuto panier du forum (merci à Cyrano pour ce très bon tuto) mais j'ai un soucis pour l'utiliser correctement.
Ce que je veux : empêcher l'ajout d'un même article déjà présent dans le panier (même id_article).
Cela marche correctement SAUF pour l'article ajouté en premier dans le panier, il est rajouté à chaque fois !
J'arrive pas à voir où est ma boulette donc si quelqu'un pouvait m'aider ça serait sympa !
Voici mon code :
j'ai utilisé le tuto panier du forum (merci à Cyrano pour ce très bon tuto) mais j'ai un soucis pour l'utiliser correctement.
Ce que je veux : empêcher l'ajout d'un même article déjà présent dans le panier (même id_article).
Cela marche correctement SAUF pour l'article ajouté en premier dans le panier, il est rajouté à chaque fois !
J'arrive pas à voir où est ma boulette donc si quelqu'un pouvait m'aider ça serait sympa !
Voici mon code :
<?php
session_start();
function verif_panier($ref_article)
{
/* On initialise la variable de retour */
$present = false;
/* On vérifie les numéros de références des articles et on compare avec l'article à vérifier */
if(array_search($ref_article,$_SESSION['panier']['id_article']) != false)
{
$present = true;
}
return $present;
}
function ajout($select)
{
$ajout = false;
if(!verif_panier($select['id']))
{
array_push($_SESSION['panier']['id_article'],$select['id']);
$ajout = true;
}
return $ajout;
}
function display_caddie($tableau)
{
?>
<form id="formpanier" name="formpanier" method="post" action="panier.php">
<table width ="568" border ="0" align="center" cellspacing ="1">
<tr height="30" bgcolor="#484067">
<th width="328"><span class="Style1">Article(s)</span></th>
</tr>
<?php
$nb_art = count($tableau['id_article']);
for($i = 0; $i < $nb_art; $i++)
{
?>
<tr bgcolor="#635D7F">
<td align="center"><input type="text" name="id" id="id" value="<?php echo $tableau['id_article'][$i] ?>"></td>
</tr>
<?php
}
?>
</table>
</form>
<?php
}
$id_article = isset($_GET['new'])? $_GET['new']:null;
$select = array();
$select['id'] = $id_article;
/* On vérifie l'existence du panier, sinon, on le crée */
if(!isset($_SESSION['panier']))
{
$_SESSION['panier'] = array();
$_SESSION['panier']['id_article'] = array();
}
/* Ici, on sait que le panier existe, donc on ajoute l'article dedans. */
ajout($select);