bonjour,
je suis en train de faire un caddie pour un site ecommerce (sous Dreamweaver 2004) et j'ai utilisé le script fourni par le livre PHP/MySQL avec DreamweaverMX. Le pb, c'est que la fonction "actualiser" ne marche pas : le menu déroulant présente bien le choix 1,2,3... pour la quantité d'article, mais quand on clique sur le bouton "actualiser", rien ne se passe, la quantité reste toujours à 1.
Ci-joit le code de la page panier, si qq à une idée, ce serait super.
Merci à tous
session_start();
//init des variables
if (!isset($HTTP_SESSION_VARS['total'])) $HTTP_SESSION_VARS['total']=0;
if(!isset($HTTP_GET_VARS['ajoutPanier'])) $ajoutPanier="";//init de nb si non déclaré
else $ajoutPanier=$HTTP_GET_VARS['ajoutPanier'];
if(!isset($HTTP_GET_VARS['modifPanier'])) $modifPanier="";//init de modifPanier si non déclaré
else $modifPanier=$HTTP_GET_VARS['modifPanier'];
if(!isset($HTTP_GET_VARS['suppPanier'])) $suppPanier="";//init de suppPanier si non déclaré
else $suppPanier=$HTTP_GET_VARS['suppPanier'];
if(!isset($HTTP_GET_VARS['enregistreCommande'])) $enregistreCommande="";//init de enregistreCommande si non déclaré
else $enregistreCommande=$HTTP_GET_VARS['enregistreCommande'];
if ((!isset($HTTP_SESSION_VARS['liste']))&&($ajoutPanier=="")) $liste[]=array("VIDE",1,0,0);//init de liste si VIDE
if (isset($HTTP_SESSION_VARS['liste'])) $liste=$HTTP_SESSION_VARS['liste'];//recup de la liste de la session
if (!isset($total)) session_register("total");
?>
<?php
mysql_select_db($database_ConnectionSiteRDT, $ConnectionSiteRDT);
//----------------------AJOUT PANIER
if ($ajoutPanier=="AJOUTER")
{
$reference=$HTTP_GET_VARS['reference'];
$nb='1'; //par défaut la quantité est = 1
$prix=$HTTP_GET_VARS['prix'];
$liste[]=array($reference,$nb,$prix,$prix);
$HTTP_SESSION_VARS['liste']=$liste;
//ajoute un article à la liste
}
//------------------MODIF PANIER
if ($modifPanier=="ACTUALISER")
{
for ($i=0;$i<count($liste);$i++)
{
$nbi='nb'.$i;
$liste[$i][1]==$HTTP_GET_VARS["$nbi"];
$liste[$i][3]=$liste[$i][1]*$liste[$i][2];//prixArticle=nbre*prixUnitaire
}
$HTTP_SESSION_VARS['liste']=$liste;//mAj de la liste
}
//----------------------SUPP PANIER
if ($suppPanier=="SUPPRIMER")
{
$article=$HTTP_GET_VARS['suppPanier'];
for ($i=0;$i<count($liste);$i++)
{
if($article==$i)
array_splice($liste,$i,1);
//suppression de l'article
}
$HTTP_SESSION_VARS['liste']=$liste;//mAj de la liste
}
//----------------------COMMANDER
if ($enregistreCommande=="COMMANDER")
{
if(!isset($HTTP_GET_VARS['action']))
$HTTP_SESSION_VARS['action']="enregistre";//mémorise l'action
header("Location: commande.php");
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Page panier</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
<style type="text/css">
<!--
.style7 {font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #990000; font-weight: bold; }
-->
</style>
</head>
<body bgcolor="#D3D678">
<div id="Layer1" style="position:absolute; width:795px; height:132px; z-index:9; left: 122px; top: 136px;">
<form name="form1" method="get" action="panier.php">
<table width="777" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#FFFF99">
<td width="289" height="27"><span class="style7">Reference</span></td>
<td width="89"><span class="style7">Quantité</span></td>
<td width="172"><span class="style7">Prix TTC</span></td>
<td width="138" class="style7">prix total TTC</td>
<td width="89"><span class="style7">Supprimer</span></td>
</tr>
<tr>
<td height="12"> </td>
<td width="89"> </td>
<td width="172"> </td>
<td width="138" class="style7"> </td>
<td width="89"> </td>
</tr>
<?php
$total=0.00; // initialisation du total de la commande à 0
for ($i=0;$i<count($liste);$i++)
{//début du bloc for
$query_rsPanier="select * from articles_rdt where Reference_article='".$liste[$i][0]."'";
$rsPanier=mysql_query($query_rsPanier, $ConnectionSiteRDT) or die(mysql_error());
$row_rsPanier=mysql_fetch_assoc($rsPanier);
/*définition et exécution de la requête SQL afin de récupérer les informations de l'article stocké dans la base(référence...)*/
?>
<tr>
<td><?php echo $row_rsPanier['Reference_article'] ?>
</td>
<td width="89"><select name="nb<?php echo $i ?>" id="nb">
<option value="1" <?php if($liste[$i][1]==1) echo "SELECTED"; ?>>1</option>
<option value="2" <?php if($liste[$i][1]==2) echo "SELECTED"; ?>>2</option>
<option value="3" <?php if($liste[$i][1]==3) echo "SELECTED"; ?>>3</option>
</select></td>
<td><div align="center"> <div align="left"><?php echo $row_rsPanier['PrixVenteTTC'] ?> € <?php echo $row_rsPanier['Quantite_article'] ?></div></td>
<td><span class="none"><? echo $liste[$i][3] ?> </span>Euro TTC</td>
<td><div align="center">
<a href="panier.php?article=<?php echo $i ?>&suppPanier=SUPPRIMER"><img src="../rd.gif" width="15" height="15"></a></td>
</tr>
<tr>
<td> </td>
<td width="89"> </td>
<td class="style7"> </td>
<td class="style7"> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td width="89"> </td>
<td class="style7"> </td>
<td class="style7"><?php $total+=$row_rsPanier['PrixVenteTTC'] * $liste[$i][1];
}// fin du bloc for
?>
Total <?php echo $total ?> Euros </td>
<td> </td>
</tr>
<tr>
<td><div align="right">
</div></td>
<td width="89"><input name="modifPanier" type="submit" value="ACTUALISER"></td>
<td colspan="2"><input name="enregistreCommande" type="submit" value="COMMANDER"></td>
<td> </td>
</tr>
</table>
</form>
</div>
<div id="Layer8" style="position: absolute; align: center; left: 116px; top: 0px; width: 808px; height: 68px; z-index: 8; text-align: center;"></div>
</body>
</html