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 :

Gestion de panier et timeout


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 84
    Par défaut Gestion de panier et timeout
    Bonjour,

    Je suis en train de développer un module sur notre site web en PHP/Mysql.
    ce module a pour but de permettre à des internautes de commander des objets publiés sur le site. ce n'est pas un site e-commerce. ces objets sont uniques (il n' y a qu'un seul objet donc il n'y a pas de stock à gérer).
    le scénario est le suivant:
    l'internaute se connecte sur la page principale du module où une liste d'objets (état <<DISPONIBLE>> dans la base de données) est publiée. il coche les objets qu'il veut commander puis il clique sur le bouton << Commander>>, il va sur un autre formulaire pour remplir des informations de genre (Nom, prénom, adresse, téléphone, email, ....) ensuite il clique sur le bouton <<Valider ma commande>> pour valider sa commande et les objets choisis passent à l'état <<COMMANDE>> dans la base des données.
    Au moment où il clique sur le bouton <<Commander>> les objets cochés passent à l'état <<EN COURS>> dans la base de données. donc les autres internautes qui se connectent sur le site à ce moment ne voient ces objets cochés.
    le problème c'est que il se peut que l'internaute ne valide jamais sa commande ou qu'il met beaucoup du temps à la valider. donc je voudrais qu'au bout d'un certain temps les objets qui sont dans l'état <<EN COURS>> passent dans l'état <<DISPONIBLE>> .
    le timeout des sessions ne peut pas résoudre le problème car le temps d'une session est calculé au moment où l'internaute à réagit avec le serveur.

    Merci

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Par défaut
    Il faut que tu créés un script PHP (at,cron) )qui s'execute toutes les heures pour nettoyer ta base de données.

    Quand une commande est passée tu dois noter l'heure puis dire a ton script de repasser a en cours tous les produits dont les commandes sont supérieur a X minutes.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 84
    Par défaut
    Nous sommes en hébergement mutualisé sur un serveur Linux donc je n'ai pas accés au cron de Linux.
    je ne veux pas utiliser des webcron.
    est-il possible d'écrire un script en php qui s'éxécute à intervalles réguliers?

    Merci

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2005
    Messages : 357
    Par défaut
    Salut,
    Il existe des sites qui te permettent de programmer des cron qui lancent des url distantes, par exemple http://www.webcron.org

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 84
    Par défaut
    Je ne veux pas utiliser des webcron.

  6. #6
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2005
    Messages : 357
    Par défaut
    Si ton hébergeur ne te propose pas de cron, à part utiliser un webcron ou passer en dédié, je ne vois pas d'autre solution.

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Par défaut
    Peut-etre avec un trigger sur ta base de données si elle le permet.

  8. #8
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2005
    Messages : 357
    Par défaut
    Il y a aussi une autre solution.
    Au moment où tu inscris les articles au statut 'en cours', tu peux aussi mettre un timestamp et ainsi utiliser celui-ci pour afficher les encours vieux depuis plus d'un certain temps.
    De cette manière tu ne dois plus te soucier de nettoyer ta db.

  9. #9
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Par défaut
    Autre idée tu lances ton script de nettoyage de la base de données quand un utilisateur demande a voir le catalogue, tu inclus donc une fonction dans ta page catalogue.php, si tu n'as pas beaucoup d'utilisateurs ca peut le faire sinon ca risque d'etre trop lourd.

Discussions similaires

  1. Gestion de Panier - Quantité d'article modifiable.
    Par abdelali-bdr dans le forum ASP.NET
    Réponses: 4
    Dernier message: 20/05/2011, 13h40
  2. Gestion de panier ASPNET & C#
    Par Chef2000 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 13/11/2009, 10h06
  3. Gestion de panier?
    Par js8bleu dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 26/07/2009, 13h55
  4. Gestion de panier
    Par achio350 dans le forum Langage
    Réponses: 1
    Dernier message: 13/11/2008, 13h43
  5. Réponses: 5
    Dernier message: 22/03/2006, 14h54

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