Aller au contenu

Problème de durée de mon panier


samoth

Sujets conseillés

Bonjour à tous,

J'ai un problème sur lequel je planche depuis si longtemps que je vais essayer de faire un résumé de tout ce que je sais:

j'ai remarqué que le panier de ma boutique en ligne fait n'importe quoi...au bout d'un certain temps (jamais le même) il se vide tout seul.

J'ai pourtant réglé mon fichier includes\functions\sessions.php en mettant ce code:

<?php

if (STORE_SESSIONS == 'mysql') {
if (defined('DIR_WS_ADMIN')) {
if (!$SESS_LIFE = (SESSION_TIMEOUT_ADMIN + 900)) {
$SESS_LIFE = (SESSION_TIMEOUT_ADMIN + 900);
}
} else {
if (!$SESS_LIFE = get_cfg_var('session.gc_maxlifetime')) {
$SESS_LIFE = 900;
}
}

Mais à priori ce code ne gère pas la durée de session du panier.

j'ai modifié dans application_top (fichier appelé par toutes les pages de ma boutique) la durée du cookie (qui était sur 0, et normalement le 0 signifie que le cookie ne disparait qu'une fois le navigateur fermé...) en la mettant elle aussi sur la valeur que je voulais et ça ne marche pas non plus...

Mes sessions sont stockées dans un répertoire et voici mes réglages de sessions coté admin de mon site:

Répertoire des sessions: /home4/l/monsite/sessions/

Utilisation de force des cookies: False

Vérifiez l'identification de session: False

Vérifiez l'utilisateur: False

Vérifiez l'adresse IP: False

Empêchez les sessions d'araignée: True

Recréez une session: False

je viens d'essayer d'ajouter cette fonction:

if (function_exists('session_set_cookie_params')) { 
session_set_cookie_params(0,'/catalog/');

à mon application_top mais ça n'a rien donné (peut-être mal ajouté c'est possible).

Tests fait avec IE et Opera:

- Je me logue. J'ajoute un produit dans mon panier. Je me délogue. Je me logue avec un autre compte, je me délogue. Je me relogue avec mon premier compte, et je retrouve mon panier. Je me logue avec Opera, mon panier est vide (sur IE, 1 article)

- 2 pcs différents logué avec le même compte. Si un panier est plein l'autre ne l'est pas forcément (logique).

Donc j'ai tendance à penser que la session panier est sous forme de cookie.

- Lorsque je bloque les cookies de IE, je peux quand même mettre dans mon panier des articles et payer (je viens de faire le test). Par contre, je ne peux plus me loguer en admin. --> J'en déduis que le panier n'est pas géré par un cookie, alors que les sessions admin le sont.

- J'ajoute un article dans mon panier. Je lance un chronomètre, le panier se vide au bout d'un temps indéterminé, aléatoire.

Donc je pense définitivement que la session panier n'est pas gérée par un cookie. Dans ce cas, elle est gérée coté serveur et lancée (et interrompue) par une fonction dans un script php. (vrai ou faux?)

Par contre le blocage de cookie m'a démontré que les sessions d'admin sont bien gérées sous forme de cookie (en refusant les cookies je ne pouvais plus me logguer).

Je vais tenter de trouver cette fonction même si je ne sais pas trop où chercher...si quelqu'un a une idée (une solution ce serait super top) je suis preneur parceque là je tourne en rond.

je ne suis pas un pro du php c'est la raison pour laquelle je fais appel à votre aide.

Merci d'avance pour votre aide

Cordialement,

Samoth

Lien vers le commentaire
Partager sur d’autres sites

Je vois que tu utilise oscommerce , pour savoir si ta session passe par un ccokie ou pas il te suffit de regarder les urls si l'identifiant de session y figure c'est que tu n'utilise pas les cookies.

Lien vers le commentaire
Partager sur d’autres sites

je n'utilise pas les cookies, mais ça je le savais déjà (cf. les tests dont je parle dans mon premier post).

Non ce que j'aimerais savoir c'est quelles sont les facteurs qui peuvent faire que ma session de panier est aléatoire.

J'ai vérifié tout ce que je pensais pouvoir être responsable de mon problème, c'est pour ça que je pose la question ici.

Merci de votre aide ;)

Lien vers le commentaire
Partager sur d’autres sites

Si tu perd ta session àléatoirement cela vient peut etre d'un lien quelque part sur le site qui ne passe pas l'id de session dans l'url .

C'est pour ca ( et pour plein d'autre raisons ) qu'il est préférable d'utiliser les cookies .

Lien vers le commentaire
Partager sur d’autres sites

l'id de session est sensé s'ajouter dans l'URL quand je clic sur "ajouter au panier". je pensais qu'il n'y avait pas problème avec ça sur les boutique oscommerce de base (enfin moi j'ai une CRELOAD)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

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



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