Cookies et/ou sessions pour un panier ?

WRInaute occasionnel
Bonjour,

Je suis un peu partagé dans les méthodes à utiliser pour réaliser un panier de commande.
Pour l'instant j'enregistre une session en bdd pour éditer le panier.

C'est parfait pour l'utilisateur qui édite son panier et procède au paiement tout de suite après, car la session n'est pas détruite en cours de route.

Le souci de cette méthode, c'est que lorsque l'utilisateur édite son panier, qu'il ferme son navigateur et décide de revenir plus tard, forcément son panier est vide car la session a changé.

Je pense donc qu'il faut que j'utilise un cookies pour mémoriser un identifiant qui pourrait être récupéré à chaque fois que l'utilisateur vient sur le site.

Ma question est :

Serait-ce une bonne méthode de ...

- mémoriser à chaque fois dans un cookies la session de l'utilisateur,
- enregistrer en bdd les articles du panier avec les différents nro_session (S'il a fait son panier en plusieurs fois)
- détruire les enregistrements de la bdd une fois le règlement établi (ce qui revient à vider le panier)

Merci pour vos avis ... 8O
 
WRInaute accro
Le problème ici n'est pas technique mais "philosophique" ;)

La solution que tu propose est justement celle que j'allais te proposer.
En n'oubliant pas de proposer un bouton "vider mon panier" qui soit suffisamment visible.
 
WRInaute occasionnel
Merci Kazhar,

sauf si le panier se vide automatiquement APRES la transaction (et le cookies détruit) ...

Serais-je sur la bonne voie ? ... :roll:
 
WRInaute accro
Non. Il faut évidemment que le panier se vide automatiquement après la transation.
Mais tu peut mettre des objets dans le panier; changer d'avis, partir sans vider le panier. Et revenir une semaine plus tard en voulant avoir un panier vide.

Il faut donc pouvoir vider celui-ci simplement.
 
WRInaute discret
jer2701 a dit:
Merci Kazhar,

sauf si le panier se vide automatiquement APRES la transaction (et le cookies détruit) ...

Serais-je sur la bonne voie ? ... :roll:

Faut aussi penser à l'utilisateur qui choisi super bien son panier et pouf son explorateur plante ! Il aimerait bien retrouver son panier aussi, bref peu importe ce que tu utilises, il faut bien gérer les mises à jour de ton panier (exemple : je me connecte, je commence un achat, mais je l'interrompt pour me déconnecter par exemple, mon panier doit être aussi vidé)
 
WRInaute occasionnel
Oui tout à fait :

- L'utilisateur doit pouvoir revenir plusieurs fois sur son panier s'il le souhaite
- le panier doit pouvoir être vidé manuellement par l'utilisateur
- le panier doit se vider automatiquement à l'issue d'une transaction réalisée

Reste une question :?:

quelle est généralement la durée de vie d'un cookies de panier ?

1 mois ? 2 mois ? 1 an ? ...
Comment définir cette durée ? 8O
(le but étant aussi de vider périodiquement la bdd des enregistrements constituants les "paniers provisoires") :roll:
 
WRInaute discret
Un cookie de panier ? Toi seul le définit mais ça ne doit pas dépasser quelques heures...

Si je peux te conseiller un peu, je ferais une table intermédiaire qui serait une table "tampon" avec les achats en cours, qui serait vidée périodiquement après une période d'inactivitée. Ainsi tu peux retrouver ton panier dans ta table tampon si l'utilisateur ferme par erreur le navigateur. Calcule à peu près le temps normal de ton processus d'achat, 30 mins c'est acceptable.
 
WRInaute occasionnel
Et bien je ne suis pas trop d'accord,

il m'est déjà arrivé de mettre un article dans mon panier un jour, et de revenir une semaine plus tard et retrouver mon panier tel quel. En tant qu'utilisateur je trouve cela plutôt appréciable ...
Sinon, techniquement dans ma bdd, ce que tu viens d'énnoncé est prévu et détaillé dans le post de départ ...
qui peut le plus, peut le moins ...

Ce qui veut dire que cela reste difficile de déterminer au plus juste la période adéquate ... :?
Mais ce n'est plus le sujet de départ de mon post.

Donc merci pour vos réponses ...
 
WRInaute discret
A toi de le voir ! Tu peux t'adapter aux nombres d'achats, en mettant la valeur dans une constante que tu place dans ton fichier config pour pouvoir la changer à ta guise!

Sachant que je pense pas que la probabilité de gens qui commencent un achat et ne le finissent qu'une semaine plus tard soit forte, mais après libre à toi si ta BDD te le permet :wink:
 
Discussions similaires
Haut