bonjour,
voila j ai utiliser le tutoriel de developper pour le panier http://jcrozier.developpez.com/articles/web/panier/
mais comme mes libellé viennent d'une base sql il sosnt souvent identique
Donc voila j ai voulut ajouter l'id du produit pour l ajout ainsi il ajoute dans le panier sans penser que c est le meme produit.Mais voila il ne met un message d'erreur lors que je veut voir mon panier:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Warning: array_search() [function.array-search]: Wrong datatype for second argument in C:\wamp\www\lileauxboutschou\pages\fonctions-panier.php on line 27
 
Warning: array_push() [function.array-push]: First argument should be an array in C:\wamp\www\lileauxboutschou\pages\fonctions-panier.php on line 35
et le panier reste vide voici donc ce quej ai modifier:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
	$body.='<a href="panier.php?action=ajout&amp;id='.$pro['produit_id'].'&amp;l='.$sous_categorie['categorie_titre'].'&amp;q=1&amp;p='.$pro['produit_prix'].'" onclick="window.open(this.href, "", 
"toolbar=no, location=no, directories=no, status=yes, scrollbars=yes, resizable=yes, copyhistory=no, width=600, height=350");
return false;"><img src="../images/caddie.gif">Ajouter au panier</a>';
et ensuite la page des fonctions:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<?php
 
function creationpanier(){
$ret=false;
 
if (isset( $_SESSION['panier']))
 $ret = true;
else
{
 
  $_SESSION['panier']=array(); 
  $_SESSION['panier']['idProduit'] = array();
  $_SESSION['panier']['libelleProduit'] = array();
  $_SESSION['panier']['qteProduit'] = array();      
  $_SESSION['panier']['prixProduit'] = array();
  $ret=true;
}
return $ret;
}
 
 
 
function ajouterArticle($idProduit,$libelleProduit,$qteProduit,$prixProduit){
 
if (creationpanier())
{
$positionProduit = array_search($idProduit,$_SESSION['panier']['idProduit']);
 
  if ($positionProduit !== false)
  {
   $_SESSION['panier']['qteProduit'][$positionProduit] += $qteProduit ;
  }
  else
  {
    array_push( $_SESSION['panier']['idProduit'],$idProduit);
   array_push( $_SESSION['panier']['libelleProduit'],$libelleProduit);
   array_push( $_SESSION['panier']['qteProduit'],$qteProduit); 
   array_push( $_SESSION['panier']['prixProduit'],$prixProduit);
  }
 
}
 
else
  echo "Un problème est survenu veuillez contacter l'administrateur du site.";
}
 
 
 
function supprimerArticle($libelleProduit){
 
if (creationpanier())
{
  $tmp=array();
  $tmp['libelleProduit'] = array();
  $tmp['qteProduit'] = array();      
  $tmp['prixProduit'] = array();
 
  for($i = 0; $i < count($_SESSION['panier']['libelleProduit']); $i++) 
  {
   if ($_SESSION['panier']['libelleProduit'][$i] !== $libelleProduit)
   {
    array_push( $tmp['libelleProduit'],$_SESSION['panier']['libelleProduit'][$i]);
    array_push( $tmp['qteProduit'],$_SESSION['panier']['qteProduit'][$i]); 
    array_push( $tmp['prixProduit'],$_SESSION['panier']['prixProduit'][$i]);
   }
 
  }
 
 
$_SESSION['panier'] =  $tmp;
unset($tmp);      
 
}
else
  echo "Un problème est survenu veuillez contacter l'administrateur du site.";
}
 
 
 
function modifierQTeArticle($libelleProduit,$qteProduit){
if (creationpanier())
{
 
  if ($qteProduit > 0)
  {
   $positionProduit = array_search($libelleProduit,  $_SESSION['panier']['libelleProduit']);
 
   if ($positionProduit !== false)
   {
    $_SESSION['panier']['qteProduit'][$positionProduit] = $qteProduit ;
   }
  }
  else
   supprimerArticle($libelleProduit);
 
}
else
  echo "Un problème est survenu veuillez contacter l'administrateur du site.";
}
 
 
 
function MontantGlobal(){
 
$total=0;
 
  for($i = 0; $i < count($_SESSION['panier']['libelleProduit']); $i++) 
  {            
   $total += $_SESSION['panier']['qteProduit'][$i] * $_SESSION['panier']['prixProduit'][$i]; 
  }
 
return $total;
}
 
?>
donc comme vous voyez j ai rajouter l'idProduit.

et en fessant avec print_r($_session) dans fonctions-panier.php;
aucune session ne s affiche
Pouvez vous m aider?
MERCI