Salut, un soucis, besoin d'aide.
Je cherchais un tuto pour implanter un panier sur un site e-commerce, j'ai eu un tuto dont le code me pose des problèmes.
En effet, j'arrive à afficher les produits. Cependant lorsque j'ajoute un produit au panier, il affiche une longue liste et il ne fait plus le total de la somme du panier.
Je ne sais vraiment pas ce qui ne va pas.
Ci-dessous les codes:

Page de la liste des produits "liste_pdt.php"
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
<?php
 
require_once("connexion.php");  // on fait appel à notre fichier de connexion
 
$req=$bdd->query("select * from produit order by nom asc"); // requête de selection
 
// ouverture de la table qui servira de conteneur pour l'affichage de nos produits
 
echo'<table>';
// remplissage de la table crée, chaque ligne de notre table servira de ligne du tableau
 
while($ligne=$req->fetch()) { 
    echo'<tr><td align="center"><img src="pdt/'.$ligne['image'].' "  width="150" height="75"  title="'.$ligne['description'].'" /> <td> ';
 
    echo'<td>'.$ligne['nom'].' </td>';
 
    echo'<td align="center">'.number_format($ligne['prix'],0,'','').'  FCFA</td> ';
 
    echo'<td align="center"><a href="panier.php?id='.$ligne['id'].' " >Ajouter au panier</a></td></tr> ';
 
}
 
// ferméture du tableau
 
echo'</table>';
 
?>
La page "panier.php"
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
 
<?php
// ouverture d'une session car le contenu du panier sera stocké dans un tableau session
Session_start();
 
$id=$_GET['id'];  // récupération de l'id du produit
 
// fonction d'ajout du produit dans le panier, elle initialise la variable $_SESSION['panier']
 
 function add($code,$qt)  
    { 
        $_SESSION['achats'][] = array ("id1" => $code,"statut"=> 0,"qte"=>$qt); 
    } 
// on teste si la variable $_SESSION['achat'][] existe
 
if(isset($_SESSION['achats'])){                
// les lignes de code ci-dessous servent à incrémenter la quantité du produit dans le panier, ainsi chaque fois que l'on choisit d'ajouter un produit, un test est fait pour savoir s'il existe déjà dans le panier ou pas.        
 
$count1 = count($_SESSION['achats']);  $tab=array(); $tab1=array();
 
 for($i=0;$i<$count1;$i++) 
 
     { $tab[$i]=$_SESSION['achats'][$i]['id1']; $tab1[$i]=$_SESSION['achats'][$i]['statut']; }
 
 if(!in_array($id,$tab)){ add($id,'1');  }
 
 else {
 
   for($j=0;$j<$count1;$j++) {
 
       if($id==$tab[$j]) {
 
      if($_SESSION['achats'][$j]['statut']==0) { $q=$_SESSION['achats'][$j]['qte']; $q++; $_SESSION['achats'][$j]['qte']=$q; }
 
      else { add($id,'1');  }
 
   }
       }
  }
}
// si la variable n'existe, on l'initialise
 
 else {add($id,'1'); }
 
 $nbre=0;
 
$count = count($_SESSION['achats']); 
// calcul du nombre de produit dans le panier
 
 for($i=0;$i<$count;$i++) 
     { 
 if($_SESSION['achats'][$i]['statut']=='0') { $nbre+=$_SESSION['achats'][$i]['qte']; } }
 
// stockage du nombre de produit dans une variable session
 $_SESSION['nbre']=$nbre;
 
// redirection après insertion dans le panier
echo"<script language='javascript'>
document.location.href='mon_panier.php';
</script>
 ";        
 
?>
La page de traitement du panier "mon_panier.php"

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
 
<?php
Session_start();
// petit test pour voir si le panier existe
 
if(!isset($_SESSION['achats'])) { echo"<script language='javascript'>
document.location.href='liste_pdt.php';
</script>
 ";         }
?>
 
<script language="javascript">
// script javascript pour le dynamisme de notre page
 
function fin(){
if(confirm("Voulez vous vraiment annuler votre commande ?")){
document.location.href="fin_achat.php"; }
}
 
function effacer(val){
if(confirm("Voulez vous vraiment effacer ce produit de votre panier ?")) { document.location.href="effacer.php?id="+val;   }
}
 
function payer(){
if(confirm("Voulez vous vraiment valider cette commande ?")){
document.location.href="validation.php"; }
}
</script>
 
 <?php
$total=0; $count=count($_SESSION['achats']); $tot=0;
if($count==0){  }
 
else{
// le code suivant liste le contenu du panier et nous donne la possibilité de supprimer ou de modifier les quantités des produits du panier
?>
 
<form action="calcul.php" method="post">
 
<table border='0' CellSpace='2' CellPad='0' width='638'>
 
<?php
 
for($i=0;$i<$count;$i++){
// on parcourt notre tableau session et on ne considère que les lignes encore active
 if($_SESSION['achats'][$i]['statut']==0) {
 
  $id=$_SESSION['achats'][$i]['id1']; // on recupère l'id
 
  $qte=$_SESSION['achats'][$i]['qte']; // de même que la quantité 
 
	require_once('connexion.php');
	$req3=$bdd->prepare("select nom, prix from produit where id=$id");
    $lig3=$req3->fetch();  $prix=number_format($lig3['prix'],0,'','');
 
	/* <td height='34' class='lie4 zone esp'>$lig3['nom'];</td> */
    echo"<tr>
   <td height='34' class='lie4 zone esp'>$lig3['nom'];</td>
    <td align='center' class='lie zone'><input type='text' value='$qte' name='$i' size='5' class='li3'></td>
    <td align='center' class='lie4 zone'>$prix FCFA</td>
    <td align='center' class='lie zone'><a href='#' onclick='effacer($id)' class='lie41'>Effacer</a></td>
</tr>";
 
// on incrémente le total
 
$tot=$lig3['prix']*$qte;
 $total+=$tot;
 
  }
}
 
$prix1=number_format($total,0,'',' ');
 
?>
 
<tr><td colspan="5">&nbsp;</td></tr>
<tr><td>&nbsp;</td><td bgcolor="#0099CC" class="zone lie4 style7 style4">Prix Total : </td><td class='lie42 zone' align="center"><?php echo $prix1 ?> FCFA</td><td>&nbsp;</td>
  <td>&nbsp;</td>
</tr>
 
<tr><td colspan="5">&nbsp;</td></tr>                         
<tr><td colspan="2"><div align="center">
                  <input name="Button2" type="button" class="text6" onclick="fin()" value="Annuler la commande" />
              </div></td><td><div align="center">
                  <input name="Button" type="submit" class="text6" value="Recalculer" />
              </div></td><td><div align="center">
                  <input name="Button" type="button" class="text6" value="Valider" onclick="payer()" />
              </div></td>
              <td>&nbsp;</td>
</tr>
 
</table>
</form>
<?php
}
?>
Lorsque j'essaie l'exercice voici l'erreur qu'on m'affiche:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\Program Files\wamp\www\test\mon_panier.php on line 65
Merci pour toute aide.