Aller au contenu

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 producteurs locaux 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

Modifié par gontran
Posté

Effectivement, ton panier n'est pas vide, lors d'une première connexion au site.

Comment le gères-tu ?

xpatval

Posté

une idée comme ça : comme tu n'as pas utilisé d'id de sessions dans tes URLs, il y a fort à parier que tout est géré dans un cookie. Hors il semblerait quà la création de ton cookie avec ton Id de session, il te colle un panier contenant 5 articles. Mais une fois le cookie initialisé, le nombre d'articles dans le panier reste à vide.

Essayes de vider ta table des sessions, ou vois ce que donnerai la non gestion des cookies sur ta boutique en utilisant la propagation des Ids de sessions dans les URLs, au moins pour voir ce que ça donne au niveau de l'ouverture de la boutique.

Notes que tu as un léger problème d'affichage entre IE et FF

Posté (modifié)

Bonjour le hub,

Alors pour le probleme d'affichage avec IE je suis en train de bosser dessus...

voila le code qui affiche mon panier :

<? session_start();
if (isset ($_SESSION['idok'])) {
echo '<div id="droite">';
echo '<h1>Votre panier</h1>';
//extraction des donnees correspondant à l'id du client
$query05='SELECT SUM(quantite) as nb, SUM(totalttc) as total FROM comm_active 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 '<li> </li>';
echo '</ul>';
}
else { echo '<ul class="menudroite">';
echo '<li> </li>';
echo '<li>Votre panier est vide</li>';
echo '<li> </li>';
echo '</ul>';
}
//Chargement du menu reservé aux membres
echo '<h1>Espace client</h1>';
echo '<ul class="menudroite">';
echo '<li><a href="../membre/membre_home.php">Panneau de contrôle</a></li>';
echo '<li> </li>';
echo '<li><a href="../deconnexion.php">Déconnexion</a></li>';
echo '</ul>';
echo '</div>';
}
else {
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 comm_active 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> </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>';
}
//chargement du menu public
echo '<h1>Déjà client ?</h1>';
echo '<ul class="menudroite">';
echo '<li>Entrer les informations relatives à votre compte ci-dessous.<br> ';
echo '<form action="../scripts/scr_auth.php" method="post" name="login" target="_self">';
echo 'Nom d\'utilisateur <br>';
echo '<input name="user" type="text" size="15" /><br>';
echo 'Mot de passe <br>';
echo '<input name="mdp" type="password" size="15" maxlength="8" />';
echo '<br />  ';
echo '<input type="submit" name="Submit" value="Connexion" class="bouton"/>';
echo '</form></li>';
echo '</ul>';
echo '</div>';
}
?>

En effet je gere mes sessions par un cookie de session ($_SESSION['idok']) qui normalement devrait etre supprimer quand on ferme le navigateur.

Aucun élément de session n'est stocké dans une base de données.

En recopiant mon code je crois avoir trouver.

Est-ce qu'il ne faudrait pas que j'initialise ma variable $session avant de faire mon SELECT ?

Modifié par Portekoi
Posté

si c'est effectivement le pb, mais je te suggère d'effacer ton post, car là ça met en évidence des carences e, programmation, qui pour quelqu'un d'avisé, permettrait d'aller compléter des requêtes SQL via son cookie en 3 fois rien de temps, et c'est pas top top ;)

Posté

Est-ce que tu pourrais m'en dire un peu plus sur les carrence en programmation ?

Pour la variable $session, en fait je ne penses pas que ca vienne de la puisque je l'initialise dans la page...

Le code que je vous ai mis, et inséré via un "include"

Posté
Est-ce que tu pourrais m'en dire un peu plus sur les carrence en programmation ?

<{POST_SNAPBACK}>

Si j'ai compris, tu charges le panier avec un simple appel à cookie

C'est un peu light.

Le cookie ne doit permettre qu'un contrôle sur la base préalable à toute détection de profil et chargement de données.

Ton panier "persistant" ne se charge qu'après vérification nom_d_usage + mot_passe + id_client

Posté

Petite précision sur mon cookie de session.

Ce cookie est initialiser quand l'utilisateur s'authentifie sur le site et il contient uniquement l'id correspondant au login et mot de passe que le client a entré

je te met le source de mon script d'authentification

if (isset($_POST['user']) && isset($_POST['mdp']))

{
//-----------------------------------------------------------------------------
//récupération des champs du formulaire
//-----------------------------------------------------------------------------
$login = htmlentities ($_POST['user']);
$mdp = htmlentities ($_POST['mdp']);
$mdp1 = md5 ($mdp);
//-----------------------------------------------------------------------------
//vérification de la concordance avec la bdd
//-----------------------------------------------------------------------------
$query00=mysql_query ("SELECT id, user, mdp, civilite, nom from client WHERE user='$login' AND mdp='$mdp1'");
$resultat = mysql_fetch_array ($query00);
}
if ($resultat['user']!="")
{
//-----------------------------------------------------------------------------
//si ok, création d'une variable de session
//-----------------------------------------------------------------------------
$_SESSION['idok']=$resultat['id'];

Posté

Bonjour le hub,

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

Je m'explique :

Lors de la premiere connexion à mon site Les producteurs locaux 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 ??

N'ayant pas eu de réponse plus précise je me permet de faire une relance.

Merci par avance pour votre aide.

Gontran

Veuillez vous connecter pour commenter

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



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