Création
d'entreprise
Posez votre question Signaler

Pb panier php [Résolu]

wepai 102Messages postés 10 février 2009Date d'inscription 2 octobre 2011Dernière intervention - Dernière réponse le 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 !!!!!!
Lire la suite 

Pb panier php »

6 réponses
Réponse
+0
moins plus
Bonjour,

On peut avoir l'erreur affichée stp? :)
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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 ?


biboo_- 17 avril 2010 à 09:29
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..
Ajouter un commentaire
Réponse
+0
moins plus
bin voila j'ai essayé d'initialiser la variable $caddie mais maintenant ça ne calcule plus


Ajouter un commentaire
Ce document intitulé « pb panier php » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?