variable de session modifier panier
Bonjour,
Voilà lorsque je modifie les quantités de mon panier, $_SESSION(list]se remet à zéro, idem lorsque je fais un nouvel ajout.
J'envoie le code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
<?php
session_start();
//init des variables
if (!isset($_SESSION['total'])) $_SESSION['total']=0;
if(!isset($_GET['ajout'])) $ajout="";//init de ajoutPanier si non déclaré
else $ajout=$_GET['ajout'];
if(!isset($_GET['modifPanier'])) $modifPanier="";//init de modifPanier si non déclaré
else $modifPanier=$_GET['modifPanier'];
if(!isset($_GET['suppPanier'])) $suppPanier="";//init de suppPanier si non déclaré
else $suppPanier=$_GET['suppPanier'];
if(!isset($_GET['enregistreCommande'])) $enregistreCommande="";//init de enregistreCommande si non déclaré
else $enregistreCommande=$_GET['enregistreCommande'];
if ((!isset($_SESSION['liste']))&&($ajout=="")) $liste[]=array("VIDE",1,0,0);//init de liste si VIDE
if (isset($_SESSION['liste']))
$liste=$_SESSION['liste'];//recup de la liste de la session
$hostname_connectionebook = "localhost";
$database_connectionebook = "ebook";
$username_connectionebook = "root";
$password_connectionebook = "";
$ebook = mysql_connect($hostname_connectionebook, $username_connectionebook, $password_connectionebook) or die(mysql_error());
mysql_select_db('ebook',$ebook);
//----------------------------------------------------AJOUT PANIER
if ($ajout == "AJOUT")
{
$idLivre=$_GET['idLivre'];
$nb=1; //par défaut la quantité est = 1
$prix=$_GET['prix'];
$_SESSION['liste'][] = array ("id" => $_GET['idLivre'],"nb" => $nb,"prix" => $_GET['prix'],"prix_total" => $_GET['prix']);
$_SESSION['ajout']=$ajout;
}
//ajoute un article à la liste
//----------------------------------------------------MODIF PANIER
if ($modifPanier=="ACTUALISER" )
{
$article=$_GET['article'];
$prix=$_GET['prix'];
$nbprod=count($_SESSION['liste'][]);
printf($nbprod);
for ($i=0;$i<count($_SESSION['liste']);$i++)
{
$nbi='nb'.$i;
$_SESSION['liste'][] = array ("id" => $_GET['article'],"nb" => $nbi,"prix" => $_GET['prix'],"prix_total" => $_GET['prix']*$nbi);
}
printf($article);
print($modifPanier);
$_SESSION['liste']=$liste;//mAj de la liste
} |
html
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
<?php
$total=0.00;
for ($i=0;$i<count($_SESSION['liste']);$i++){
$query_rsPanier="select * from livre where idLivre = '".$_SESSION['liste'][$i]['id']."'";
$rsPanier = mysql_query($query_rsPanier, $ebook) or die(mysql_error());
$row_rsPanier = mysql_fetch_assoc($rsPanier);
$_SESSION['titre']=$row_rsPanier['titre'];
?>
<tr class="lignepanier">
<td align="left"><?php echo $_SESSION['titre'] ;
$article=$row_rsPanier['idLivre'];?></td>
<td>
<select name="nb<?php echo $i ?>" id="nb">
<option value="1" <?php if($_SESSION['liste'][$i]['nb']==1) echo "SELECTED"; ?>>1</option>
<option value="2" <?php if($_SESSION['liste'][$i]['nb']==2) echo "SELECTED"; ?>>2</option>
<option value="3" <?php if($_SESSION['liste'][$i]['nb']==3) echo "SELECTED"; ?>>3</option>
</select>
<input type="hidden" name="article" value="<?php echo $row_rsPanier['idLivre'];?>"/>
<input type="hidden" name="prix" value="<?php echo $row_rsPanier['prix_eyrolles'];?>"/>
</td>
<td><?php echo $row_rsPanier['prix_eyrolles'] ?></td>
<td><?php echo $row_rsPanier['prix_eyrolles'] * $_SESSION['liste'][$i]['nb']?> EUR</td>
<td align="right">
<img src="images/mettredecote.gif"/><br/>
<a href="panier.php?suppPanier=SUPPRIMER&article=<?php echo $row_rsPanier['idLivre'] ?>">
<img src="images/supprimerpanier.gif"/>
</a>
</td>
</tr>
<?php
$total+=$row_rsPanier['prix_eyrolles'] * $_SESSION['liste'][$i]['nb'];
$_SESSION['total']=$total;//mAj du total dans la session
?>
<tr class="interlignepanier"><td></td></tr>
<tr class="lignepanierbottom">
<td align="left">TOTAL </td>
<td></td>
<td></td>
<td><?php echo $total ?> EUR</td>
</tr>
</table>
<p>
Vous avez modifié une quantité?
</p>
<p class="form">
<input type="image" src="images/mettreajour_panier.gif" name="modifPanier" value="ACTUALISER"/><?php }?> |
merci d'avance