Bonjour,
Je reviens à vous car le bout de code que vous m'avez fourni ne fonctionne pas!!Je vais donc vous donner de plus amples détails à prpos de mon probleme!
En effet un utilisateur ne peut pas faire d'achats sans etre connecté sur le site, une fois qu'il est connecté, j'initialise son caddie comme suite dans caddie.php:
$_SESSION['caddie']=array();
Cette opération n'est exécuté qu'une seule fois lors de sa connexion, pour pouvoir recuperer TOUS ses produits à fin de ses achats.
Donc voici le bout de code qui ajoute les produits au panier contenu dans le fcihier fonction.php:
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
|
function ajoutPanier($id,$taille)
{
<?php
//$param=array();
//$param['id']=$id;
//$param['taille']=$taille;
//$param['quantite']=1;
$nbProd = count($_SESSION['caddie']);
$test=0;
//for($i=0;$i<$nbProd;$i++)
//{
//if($_SESSION['caddie'][$i]['id']==$id&&$_SESSION['caddie'][$i]['taille']==$taille)
//{
$caddie = $_SESSION['caddie'];
foreach($caddie as $value){
if($value['id']==$id && $value['taille']==$taille){
$value['quantite']= $value['quantite']+1;
$test=1;
}
}
if($test==0)
{
$article=array();
$article['id'] = $id;
$article['taille'] = $taille;
$article['quantite'] = 1;
$caddie=array();
array_push($caddie,$article);
$_SESSION['caddie'] = $caddie;
}
var_dump($_SESSION['caddie']);
}
?> |
et j'affiche ses produits comme suite dans monpanier.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
<?php
$caddie = $_SESSION['caddie'];
foreach($caddie as $value){
$tailleProd=$value['taille'];
$idProd=$value['id'];
$tailleProd=$value['taille'];
$quantiteProd=$value['quantite']
?>
//blablablablabla......
<tr>
<td >
<?php print($tailleProd);?>
</td>
</tr> |
De ce fait, lors de l'ajout d'un produit au panier, j'obtiens ce message derreur
<<Warning: Invalid argument supplied for foreach() in /homez.11/omzolzlh/www/Brice/fonction.php on line 158>> 'est à dire à cette ligne: foreach($caddie as $value){
De même,les produits ne s'ajoutent pas sucessivement, mais s'écrase les uns sur les autres du coup si l'utilisateur fait 10 achats, lors de l'affichage, il n'y aura que le 10e achat dans $_SESSION['caddie'] et non les 10...
Auriez vous une solution à cela?
Merci d'avance!!!
Partager