IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Vider une table à la fermeture du navigateur


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 21
    Par défaut Vider une table à la fermeture du navigateur
    Bonjour,

    Je suis en train de modifier un script de caddie(etça me prend la tête sérieux !!!!) pour le transformer en billeterie. Je vous expose brièvement mon problème :

    J'enregistre le n° de session dans une table caddie lors de l'ajout des articles dans le panier, et également la quantité, le prix... Si l'internaute valide son paiement, je garde les infos pour établir un suivi de client. Si l'internaute me quitte avant d'avoir validé son paiement, la session est implicitement détruite mais les infos qu'ils a laissé lors de sa navigation restent contenues dans la table caddie.

    D'où ma question, comment puis je détruire ces infos lorsque l'internaute ferme son navigateur ?

  2. #2
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    Je ne crois pas que tu puisses récupérer cet évènement. Tu devras faire une vérification périodique des sessions pour vider le panier de celles qui ne sont plus actives.

    [Edit] Ou, mieux, conserve carrément le panier d'une session sur l'autre si ton utilisateur a utilisé un login et mot de passe, non ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 21
    Par défaut
    Je pensais à un truc, lorsque j'enregistre mes infos dans la tables avec un champ caché j'attribue une valeur 0 à un champ paiement.

    Pour celui qui paye :Lors de la validation du paiement et du retour internaute de la facture à imprimer, j'update la table et attribue au champ paiement la valeur 1 et conserve mes données.

    Pour celui qui ne paye pas : Lors de la clotûre de la session, je fais un delete dans ma table de tous ceux qui ont 0 au champ paiement.

    Le truc c'est qui je sais pas si on peut écrire un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    if (session_destroy())
    {
    $query="DELETE FROM 1two_ecommerce_caddie WHERE client_ip='" . $_SESSION["client_ip"] . "' and compteur='$item' and paiement='0'";
    $delete_item = @mysql_query($query,$db);
    }

  4. #4
    Membre éclairé Avatar de allyson
    Inscrit en
    Août 2003
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 261
    Par défaut
    salut;
    si tu dois réagir à la fermeture du navigateur c'est de code Java Script que t'auras besoin!
    tu peux par exemple utiliser l'événement correspondant à la fermeture de la fenêtre et appeler une fonction php qui s'occupera de vider la table!

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 21
    Par défaut
    si j'insère un javascript qui me dit lorsque la fenêtre se ferme, détruit la table il pourra pas détruire la table puisque la fenêtre sera fermée.

    Le seul truc en javascript que je vois ce serait d'ouvrir un pop-up à la fermeture de ma boutique qui executerai la destruction de ma table.

  6. #6
    Membre éclairé Avatar de allyson
    Inscrit en
    Août 2003
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 261
    Par défaut
    c'est exactement ce que je voulais dire! je ne l'ai peut être pas bien exprimé!

  7. #7
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Deux choses :
    • S'il existe un évènement JS correspondant à la fermeture de la fenêtre, alors il est possible d'appeler une page PHP avant que la fenêtre se ferme réellement. Inconvénient : cela peut ralentir la fermeture de ladite fenêtre en fonction du temps de réponse de ton site et de la disponibilité de la connexion Internet du client et, ainsi, ne pas plaire du tout au client en question (il blâmera éventuellement ton site pour faire planter son ordi, ce en quoi il aurait partiellement raison).
    • JS est une techno client, elle est donc désactivable et, surtout, non fiable. Qui te dit que ton client ne va pas t'envoyer son évènement de fermeture de fenêtre alors qu'il est en pleine navigation ?

Discussions similaires

  1. [SQL] Vider une table
    Par philippef dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 22/03/2013, 19h20
  2. pb pour vider une table sous sql
    Par xence dans le forum Langage SQL
    Réponses: 3
    Dernier message: 24/03/2006, 08h09
  3. Vider une table MySQL suite à javascript:confirm()
    Par anutka dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 16/09/2005, 12h16
  4. comment vider une table de tous ses enregistrements ?
    Par bertrand_declerck dans le forum Bases de données
    Réponses: 3
    Dernier message: 29/07/2005, 10h19
  5. Vider une table a une fermeture subite
    Par mimosa7 dans le forum Access
    Réponses: 6
    Dernier message: 15/06/2005, 17h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo