osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Déconnection automatique après achat, Comment faire pour déconnecter l'utilisateur après l'achat
Etienne07
posté 14 Sep 2016, 10:52
Message #1


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 5
Inscrit : 14-September 16
Membre no 32770



Bonjour à tous,

Désolé si ma question a déjà été traitée.
J'ai cherché sans succès sur google et sur ce forum une solution pour déconnecter l'utilisateur après son achat, une fois la page checkout_success.php affichée.

La boutique que je dois mettre en place sera en accès libre sur une borne publique, il est donc impératif qu'après avoir validé le paiement l'utilisateur soit déconnecté de la boutique pour éviter que l'utilisateur qui vient après ait accès au compte de l'utilisateur précédent.

Je suis sur la version 2.2MS2 (d'ailleurs je ne sais pas si je suis dans la bonne partie du forum, vu qu'il y a une section MS2 et une section 2.2).
J'ai commencé la migration de cette boutique vers la 2.3.4, mais cela représente pas mal de travail, et je perds toute la customisation de la mise en page (je ne suis pas expert en web, je suis un programmeur C++ qui fait du php comme il peut smile.gif).

J'ai essayé différentes solutions en rajoutant à la fin de checkout_success.php, après la ligne "require(DIR_WS_INCLUDES . 'application_bottom.php');"

- tep_redirect(tep_href_link(FILENAME_LOGOFF, '', 'SSL'));

- tep_session_unregister('customer_id');

aucune solution ne marche.

Est-ce que quelqu'un a une idée de comment je pourrais faire ça proprement ?

Merci
Go to the top of the page
 
Bonbec
posté 14 Sep 2016, 13:11
Message #2


Ceinture marron OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1326
Inscrit : 30-May 06
Lieu : Vichy (03)
Membre no 10583



Bonjour,

Fil déplacé dans la section OsCommerce MS2 happy.gif

A mon avis il n'y a pas de solution propre car si le site le déconnecte après son achat, une fois la page checkout_success.php affichée, il n'a plus la possibilité d'aller dans son historique ou dans son compte sans se connecter de nouveau. Cela va lui faire bizarre et il va sans doute se poser des questions car ce n'est pas un fonctionnement standard. Il va sans doute penser qu'il s'est fait arnaquer (cas extrême je l'accorde, mais plausible).
En admettant qu'il se reconnecte pour voir si sa commande est bien passée, qu'est-ce qui prouve qu'il va bien se déconnecter de lui même avant de laisser la place à l'utilisateur suivant ?


--------------------
Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse)
Config 2 en local avec UwAmp : Osc 2.3.4 BS
Go to the top of the page
 
Etienne07
posté 14 Sep 2016, 13:38
Message #3


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 5
Inscrit : 14-September 16
Membre no 32770



Merci pour la réponse.
Je ne suis pas trop d'accord avec l'analyse. Je m'explique :

Après avoir validé son paiement, d'une part il se retrouve sur la page checkout_success qui lui confirme que sa commande est passée, et de plus un email lui est envoyé directement (en supposant qu'il le reçoive sur son portable, il est immédiatement rassuré). De plus, même s'il est inquiet de se voir déconnecté, il peut vérifier que sa commande est passée en se reconnectant. Je pourrait aussi rajouter un gros message "Pensez à vous déconnecter".
Mais surtout, je voudrais ensuite (mais ça c'est un autre problème) imprimer directement un ticket qui confirme que la commande est passée, rendant ainsi inutile la reconnexion pour vérification (si il n'a pas de smartphone ou s'il ne reçoit pas ses emails dessus).
La borne ne sera pas dans la rue mais dans un local, et il y a aura à proximité une personne capable d'expliquer le fonctionnement du système en cas de doute.
Go to the top of the page
 
Bonbec
posté 14 Sep 2016, 14:17
Message #4


Ceinture marron OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1326
Inscrit : 30-May 06
Lieu : Vichy (03)
Membre no 10583



Re,

Pour la réception des mails de confirmation de commande, par expérience (j'ai une boutique OsCommerce MS2.2 aussi), ils n'arrivent pas toujours dans la minute.

Pourquoi ne pas modifier la page checkout_succes.php pour qu'elle affiche le récapitulatif de la commande ? Cela pourrait rassurer le client et servir de ticket à imprimer. Prévoir dans ce cas là un style css du style :
Code
<link rel="stylesheet" type="text/css" href="ma_feuille_css_impression.css" media="print" />

contenant uniquement ce qu'il faut pour faire une impression de l'essentiel (donc supprime toutes les fioritures de la page "écran" comme les menus etc ... ?
Et en plus mettre en gros un bouton du style "cliquer ici pour rendre ces informations confidentielles" ou "pensez à vous déconnecter avant de quitter cette page".


--------------------
Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse)
Config 2 en local avec UwAmp : Osc 2.3.4 BS
Go to the top of the page
 
Etienne07
posté 15 Sep 2016, 10:37
Message #5


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 5
Inscrit : 14-September 16
Membre no 32770



Merci pour ces idées.

Ça ne répond pas à ma question initiale, mais cela me sera sans doute utile par la suite wink.gif
Go to the top of the page
 
Bonbec
posté 15 Sep 2016, 10:56
Message #6


Ceinture marron OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1326
Inscrit : 30-May 06
Lieu : Vichy (03)
Membre no 10583



Re,

Maintenant que j'ai mieux compris la problématique, je pense qu'au lieu d'essayer de faire un tep_redirect vers loggof.php, il devrait être possible d'inclure quelques lignes de ce fichier à la fin de checkout_success.php, avant la ligne "require(DIR_WS_INCLUDES . 'application_bottom.php');"

Je pense à ces lignes (car apparemment elles seules agissent) :

Code
  tep_session_unregister('customer_id');
  tep_session_unregister('customer_default_address_id');
  tep_session_unregister('customer_first_name');
  tep_session_unregister('customer_country_id');
  tep_session_unregister('customer_zone_id');
  tep_session_unregister('comments');

//kgt - discount coupons ==> à mettre uniquement si cette contrib est installée, c'est le cas chez moi
  tep_session_unregister('coupon');
  //end kgt - discount coupons
  
  $cart->reset();

J'ai pas testé mais logiquement çà devrait le faire.


--------------------
Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse)
Config 2 en local avec UwAmp : Osc 2.3.4 BS
Go to the top of the page
 
Etienne07
posté 15 Sep 2016, 11:55
Message #7


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 5
Inscrit : 14-September 16
Membre no 32770



Malheureusement non ça ne marche pas, pas plus que quand j'avais essayé après la ligne "require(DIR_WS_INCLUDES . 'application_bottom.php');"
Go to the top of the page
 
Bonbec
posté 15 Sep 2016, 12:36
Message #8


Ceinture marron OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1326
Inscrit : 30-May 06
Lieu : Vichy (03)
Membre no 10583



Re,

Je viens de faire un test, effectivement çà ne fonctionne pas.
Par contre, en déplaçant le code en début du fichier checkout_success.php çà fonctionne smile.gif

Trouver (vers la ligne 32) :
Code
  require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CHECKOUT_SUCCESS);

Ajouter juste dessous :
Code
  tep_session_unregister('customer_id');
  tep_session_unregister('customer_default_address_id');
  tep_session_unregister('customer_first_name');
  tep_session_unregister('customer_country_id');
  tep_session_unregister('customer_zone_id');
  tep_session_unregister('comments');
//kgt - discount coupons
  tep_session_unregister('coupon');
  //end kgt - discount coupons
  
  $cart->reset();


--------------------
Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse)
Config 2 en local avec UwAmp : Osc 2.3.4 BS
Go to the top of the page
 
Etienne07
posté 15 Sep 2016, 13:23
Message #9


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 5
Inscrit : 14-September 16
Membre no 32770



Super, c'est exactement ça qu'il me fallait !

Merci beaucoup smile.gif
Go to the top of the page
 

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 24th November 2017 - 14:15
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)