Pb panier php

Résolu
bonjour je fais un panier pour un site internet
je crois avoir saisi le principe mais dans ce que j'ai fait ça me renvoi une des erreurs j'ai bien tourné mon code dans tous les sens mais là je ne voit pas
quelqu'un peut il m'aider ?

voici mon code:
sur ma page de produit :
<a href="lepanier.php?ajout=<?php echo $row_produit['ref']; ?>">ajouter</a>


page "lepanier.php":
<?php session_start();

if(isset($_GET['ajout'])) 
{
	$ref = $_GET['ajout']; //référence du produit choisi 
	if(!isset($_SESSION['caddie']))//si le caddie n'a pas été encore créé
						{$_SESSION['caddie'] = array(); } //création de la variable de session
	if(isset($_SESSION['caddie'][$ref])) { $_SESSION['caddie'][$ref]++;}//si ce produit a déjà été choisi  ajoute 1 a la quantité 
	else {$_SESSION['caddie'][$ref] = 1;}//si 1er ajout, met la quantité à 1


}
if(isset($_GET['retrait'])) 
{
	$ref = $_GET['retrait'];
	$array = $_SESSION['caddie'];//attribue le tableau à $array 
	$key = array_search($ref, $array);//recherche la référence et attribue son rang dans le tableau à $key
	array_splice($_SESSION['caddie'], $key, 1);  //retire l'élément situé au rang enregistré dans $key
;?>

<?php include('include/connexion.php');

//Requête pour récupérer toutes les informations des produits et calcul du prix total.

foreach ($_SESSION['caddie'] as $refProduit => $quantite) { 

$rq="SELECT * FROM ref where ref='".$refProduit."'";//cherche dans la table ref la reference "ref"

$res=mysql_query($rq)or die("erreur dans la requete" );

$data=mysql_fetch_array($res);

$nom=$data['titre'];

$prix_unitaire=$data['prix'];

$prix_total=$prix_unitaire*$quantite;

$caddie += $prix_total;
?>

	//Affichage des résultats
<?php
nom : echo ''.$nom.'';

prix_unitaire : ''.echo $ prix_unitaire.'';//quand je charge la page il me dit que l'erreur est la !!

quantité :echo ''.$quantite.'';

prix total : ''.echo $prix_total .'';

total commande : ''.echo $caddie.''; euros

};?>


voila si quelqu'un a une idée je suis preneur !!!!!!



--
PGC is not dead

5 réponses

  1. Bonjour,

    Tout d'abord sur la ligne d'où tu dis que proviens l'erreur je vois déjà ça :

    prix_unitaire : ''.echo $ prix_unitaire.'';


    Je ne sais pas si l'espace entre le $ et le prix_unitaire est une erreur de frappe sur le sujet ou si elle y ai également dans ton fichier.

    Il faudrais donc mettre ça :

    prix_unitaire : ''.echo $prix_unitaire.'';


    Autre chose qui m'étonne c'est la façon dont tu utilise les echo :

    quantité :echo ''.$quantite.'';


    Il faut plutôt faire ça :

    echo "quantité : ".$quantite;


    Bref ce sont les erreurs que j'ai pu voir vite fais.
    1. ok oui j'ai vu ces quelques erreur j'ai rectifié mais ça ne marche toujours pas
      //Affichage des résultats
      <?php 
      echo 'nom : '.$nom.''; 
      
      echo 'prix_unitaire : '.$prix_unitaire.''; 
      
      echo 'quantité :'.$quantite.''; 
      
      echo'prix total : '. $prix_total .''; 
      
      echo'total commande : '. $caddie.' euros'; 
      
      };?>


      l'erreur qui etait notée était juste "Parse error: parse error in C:\wamp\www\...\lepanier.php on line 56" la ligne 56 etait la ligne de prix_unitaire (l'espace entre $ et prix unitaire etait une erreur en tapant le sujet dans le forum
      donc
      maintenant j'ai donc ce code
      <?php session_start(); 
      
      if(isset($_GET['ajout']))  
      { 
       $ref = $_GET['ajout']; //référence du produit choisi  
       if(!isset($_SESSION['caddie']))//si le caddie n'a pas été encore créé 
            {$_SESSION['caddie'] = array(); } //création de la variable de session 
       if(isset($_SESSION['caddie'][$ref])) { $_SESSION['caddie'][$ref]++;}//si ce produit a déjà été choisi  ajoute 1 a la quantité  
       else {$_SESSION['caddie'][$ref] = 1;}//si 1er ajout, met la quantité à 1 
      
      
      } 
      if(isset($_GET['retrait']))  
      { 
       $ref = $_GET['retrait']; 
       $array = $_SESSION['caddie'];//attribue le tableau à $array  
       $key = array_search($ref, $array);//recherche la référence et attribue son rang dans le tableau à $key 
       array_splice($_SESSION['caddie'], $key, 1);  //fonction PHP qui retire l'élément situé au rang enregistré dans $key 
      ;?> 
      
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
      <html xmlns="http://www.w3.org/1999/xhtml"> 
      <head> 
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
      <title>Document sans titre</title> 
      </head> 
      
      <body> 
      
      
      <?php include('include/connexion.php'); 
      
      //Requête pour récupérer toutes les informations des produits et calcul du prix total. 
      
      foreach ($_SESSION['caddie'] as $refProduit => $quantite) {  
      
      $rq="SELECT * FROM ref where ref='".$refProduit."'"; 
      
      $res=mysql_query($rq)or die("erreur dans la requete" ); 
      
      $data=mysql_fetch_array($res); 
      
      $nom=$data['titre']; 
      
      $prix_unitaire=$data['prix']; 
      
      $prix_total=$prix_unitaire*$quantite; 
      
      $caddie += $prix_total; 
      ?> 
      
       //Affichage des résultats 
      <?php 
      echo 'nom : '.$nom.''; 
      
      echo 'prix_unitaire : '.$prix_unitaire.''; 
      
      echo 'quantité :'.$quantite.''; 
      
      echo'prix total : '. $prix_total .''; 
      
      echo'total commande : '. $caddie.' euros'; 
      
      };?> 
      
      
      
      
      </body> 
      </html>


      et l'erreur est maintenant Parse error: parse error in C:\wamp\www\...\lepanier.php on line 71

      la ligne 71 etant la ligne ou il y a la balise </html>

      je ne comprend toujours pas


      PGC is not dead
      1. eh bien en fait j'ai trouvé mon probleme, je n'avais pas fermer le if tout en haut

        que je suis bete
        mais bon maintenant la vraie question c'est cette erreur ?

        Notice: Undefined variable: caddie in C:\wamp\www\.....\lepanier.php on line 47

        la ligne 47 etant celle ci : $caddie += $prix_total;

        et comment additionner les element total de mon tableau pour arriver au total du caddies ?

        PGC is not dead
        1. As-tu initialisé une variable $caddie, genre $caddie=0 ?
          Parce que je vois ton code, tu fais directement un $caddie +=$prix ..

          Je sais qu'on est en PHP et que c'est un langage super permissif (vive la rigueur quoi..), mais là ton $caddie peut pas non plus l'appeler sans l'initialiser..
      2. bin voila j'ai essayé d'initialiser la variable $caddie mais maintenant ça ne calcule plus