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 :

Module multi user


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Février 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 1
    Par défaut Module multi user
    Bonsoir à tous ou bonjour,

    je viens vers vous car j'ai un soucis gênant sur un logiciel que je code...

    C'est un module permettant de faire et de gérer des factures, il y a donc plusieurs utilisateurs,

    Dans un 1er temps nous entrons les données du client dans l'entête de la facture (nom, prénom, adresse, etc ... du client), ensuite nous sommes redirigé sur une autre page qui permet de gérer le corps de la facture (les différentes lignes).

    Elles sont ajoutées tour à jour et sont rattachés à la facture via sont id dans la barre d'adresse (variable $_GET).

    Le soucis se déroule lorsque 2 utilisateurs au moins crées des factures au même moment, dans certain cas les 2 utilisateurs ont chacun leurs factures mais lorsque l'un des 2 ajoute une ligne, celle ci arrive souvent dans la facture de l'autre, ce qui vous en conviendrez est gênant

    C'est là qu'est la question, je ne comprends pas comment cela est possible car l'id permettant de lier la ligne à la facture est dans la barre d'adresse ...

    Dans d'autres cas (plus rare et moins gênant) les 2 utilisateurs se retrouvent sur une même facture et l'un deux est rejeté car j'ai codé une vérification d'ip sur la facture, de ce fait seulement le 1er à avoir demander cette page à le droit d'y accéder.

    C'est codé en PHP 4 + SQL.

    Si vous voulez plus de détails je suis près à les fournir.

    Je vous remercie d'avance.

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    c'est du débogage classique.
    Trace ce qui se passe au moment du rafraichissement de la page suite au rajout d'une ligne dans le corps de la facture. Vérifie aussi que le détail d'une facture est bien rattaché au bon id de facture.

    Ensuite, vu que le système est très simple et pour éviter qu'un petit malin puisse rajouter des lignes à n'importe quelle facture, j'espère que tu as mis des protections plus avancées qu'un simple id qui passe de page en page.

    Pour le contrôle d'accès simultané, opter pour l'ip n'est pas très bon. Il vaut mieux permettre aux utilisateurs d'accéder en lecture aux factures simultanément et tu verrouilles uniquement l'accès au mode édition dès qu'un utilisateur le demande.
    Pour des question de gestion de disponibilité, tu peux rajouter un timer : tant que des modifications sont enregistrées durant un laps de temps de 2min (par exemple), la facture est verrouillée en édition et suppression, si au delà du temps imparti ou suite à la validation des modifications, le verrou est supprimé. Si la libération intervient suite au dépassement du temps imparti, alors les modifications sont perdues. Tu peux mettre un chrono sur ta page qui décompte le temps avant la fin du mode édition. Les utilisateurs savent ainsi qu'au bout du temps restant et sans intervention de leur part, leurs modifs seront perdues.

  3. #3
    Membre Expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Billets dans le blog
    1
    Par défaut
    salut,

    pour compléter, si tes tables sont en innodb tu peux utiliser les mécanismes d'isolation, si elles sont en myisam tu devras poser des verrous de table selon les actions...

Discussions similaires

  1. Variables d' application communes multi users
    Par giheller dans le forum Langage
    Réponses: 9
    Dernier message: 28/08/2006, 17h42
  2. [Développement] Application multi user
    Par Vesta dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/04/2006, 22h52
  3. VBA-E] Mots de passe multi-users
    Par Igloobel dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 03/10/2005, 21h09
  4. Design d'une base multi-user
    Par Aurelien.Regat-Barrel dans le forum Langage SQL
    Réponses: 4
    Dernier message: 29/08/2005, 12h13
  5. Réponses: 2
    Dernier message: 14/03/2004, 16h14

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