Aller au contenu

probleme affichage du panier a la premiere visite sur le site


Sujets conseillés

Posté (modifié)

Bonjour le hub,

J'ai un petit souci d'affichage sur mon panier.

Je m'explique :

Lors de la premiere connexion à mon site Les vins du terroir le panier devrait etre vide, hors il affiche un certains nombre d'articles (sur la droite de la page).

En actualisant la page (touche F5), je constate que le panier est bien vide !!!

Je cherche depuis un bon moment d'ou ca peux bien venir et je ne trouve pas.

Est-ce que quelqu'un aurai une idée ??

Merci

code gerant l'affichage du panier :

if (isset ($_SESSION['idok'])) {
echo '<div id="droite">';
echo '<form action="../scripts/scr_newsletter.php" method="post" name="newsletter">';
echo '<h1>Votre panier</h1>';
//extraction des donnees correspondant à l'id du client
$query05='SELECT SUM(quantite) as nb, SUM(totalttc) as total FROM panier WHERE id_client="'.$session.'"';
$comma=mysql_query($query05);
$ligne=mysql_fetch_array($comma);
$somme=$ligne['total'];
$nbrarticle=$ligne['nb'];
if ($somme!="") {
echo '<ul class="menudroite">';
echo '<li>Nombre d\'articles : <b>'.$nbrarticle.'</b></li>';
echo '<li>Total TTC : <b>'.$somme.'€</b></li>';
echo '</ul>';
}
else { echo '<ul class="menudroite">';
echo '<li> </li>';
echo '<li>Votre panier est vide</li>';
echo '<li> </li>';
echo '</ul>';
}
echo '<div id="droite">';
echo '<h1>Votre panier</h1>';
//extraction des donnees correspondant à l'id du cookie
$query06='SELECT SUM(quantite) as nb, SUM(totalttc) as total FROM panier WHERE id_cookie="'.$id_cookie.'"';
$commacookietemp=mysql_query($query06);
$commacookie=mysql_fetch_array($commacookietemp);
$sommecookie=$commacookie['total'];
$nbrarticle=$commacookie['nb'];
if ($sommecookie!="") {
echo '<ul class="menudroite">';
echo '<li>Nombre d\'articles : <b>'.$nbrarticle.'</b></li>';
echo '<li>Total TTC : <b>'.$sommecookie.' €</b></li>';
echo '<li><a href="../login.php">Valider votre panier.</a></li>';
echo '</ul>';
}
else { echo '<ul class="menudroite">';
echo '<li> </li>';
echo '<li>Votre panier est vide</li>';
echo '<li> </li>';
echo '</ul>';
}

Modifié par gontran
Posté

Salut

Ta variable $nbrarticle doit avoir une valeur qui vient d'une autre page inclus , verifie si tu utilise pas 2 fois la variables ou sinon essai de la mettre à zero avant ta requete histoire d'avoir le temps de trouver le problème.

Posté

j'ai verifier et je ne vois pas.

j'ai changer le nom de ma variable $nbrarticle en $toto, celle la je suis sur de ne pas l'utiliser ailleur mais le resultat est identique...

un vrai casse tete

Posté (modifié)

bon je crois que j'ai trouver d'ou viens le probleme

je n'arrive pas à récuperer la valeur contenue dans mon cookie

je vous met le code de ma page index.php

<? 		session_start (); 
require ('scripts/scr_fonctions.php');
$id_cookie=$_COOKIE['PHPSESSID'];
$session=$_SESSION['idok'];
?>
<!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>
<title>Bienvenue sur Les vins du terroir</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="css/global.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="conteneur">
<? include ('page/header.php'); ?>
<? include ('page/menugauche.php');?>
<? include ('page/menudroite.php'); ?>
<div id="centre">
<? offre (); ?>
<div id="colonnegauche">
<p align="justify">Bienvenue sur le site des producteurs indépendants de la région de Cadillac(33). </p>
<p> </p>
<p align="justify">Vous touverez sur ce site, une sélection de vin issu d'une agriculture traditionnelle. Un type de vinification respectueux de la qualité des raisons produits. </p>
<p> </p>
<p>Nous avons sélectionné un certains nombre de propriétaires qui élabore leur vin dans le plus pur respect des traditions, pour que votre plaisir en dégustant ces vins soit inoubliable</p>
<p> </p>
<h3>Actualité</h3>
<p> </p>
<p>Week-end portes ouvertes le 3 et 4 juin 2006 dans les vignobles des Premières Côtes de Bordeaux et Cadillac</p>
<p><b>Renseignements : 05.57.98.19.20</b></p>
<p> </p>
<div class="pub">
Votre pub ici
</div>
<p> </p>
</div>
</div>
<? include ('page/footer.php'); ?>
</div>
</body>
</html>

est-ce que quelqu'un voit un treuc de bizarre ?

merci

edit : apres mis en place d'un debug, j'ai rajouter une ligne type :

echo '<li>'.$id_cookie.'</li>;

je me rend compte qu'a la premiere visite la variable $id_cookie ne s'initialise pas avec la valeur contenue dans le cookie, mais quand on reactualise la page, la variable est bien initialisée.

d'ou peux venir le probleme ?

merci

Modifié par gontran
Posté

C'est spécial aux cookies, si tu le crées en début de page puis l'affiche, il n'apparaît pas. Il faudrait faire une redirection en tête de page après l'initialisation du cookie tant que tu n'obtiens pas la valeur du cookie.

Exemple :

<?

...

if (empty ($_COOKIE['PHPSESSID'])) {

// Ici, déclaration du cookie

header ("Location: index.php");

}

?>

Posté

ok c'est bien ce que je pensais

et avec les sessions on a le meme probleme ??

si non je pourrais creer un truc du style

$number = "134679";
$session_number = str_shuffle($number);
$_SESSION['temp']=$session_number;
$session_visiteur=$_SESSION['temp'];

comme ca je n'utilise plus les cookie mais uniquement les sessions

Posté

Pas de problème avec les sessions, elles sont accessibles immédiatement. Je n'utilise pas les cookies pour la gestion de mon panier, et ça fonctionne parfaitement.

  • 1 month later...
Posté
Pas de problème avec les sessions, elles sont accessibles immédiatement. Je n'utilise pas les cookies pour la gestion de mon panier, et ça fonctionne parfaitement.

pourrez tu m'expliquer comment tu gere ton panier avec des sessions

merci

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...