Pb panier php

Résolu/Fermé
Utilisateur anonyme - 16 avril 2010 à 13:03
 Utilisateur anonyme - 17 avril 2010 à 14:10
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 !!!!!!


5 réponses

biboo_ Messages postés 1249 Date d'inscription jeudi 20 août 2009 Statut Membre Dernière intervention 14 mars 2012 106
16 avril 2010 à 13:17
Bonjour,

On peut avoir l'erreur affichée stp? :)
0
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.
0
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
0
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
0
biboo_ Messages postés 1249 Date d'inscription jeudi 20 août 2009 Statut Membre Dernière intervention 14 mars 2012 106
Modifié par biboo_ le 17/04/2010 à 09:30
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..
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
17 avril 2010 à 14:10
bin voila j'ai essayé d'initialiser la variable $caddie mais maintenant ça ne calcule plus


0