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 :

2 inscriptions en même temps [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Par défaut 2 inscriptions en même temps
    bonjour tous le monde

    voila, je me demandais ce qui arriverait si 2 utilisateurs s'inscrivaient en meme temps sur mon site avec le meme pseudo...

    ca va bugger? je vais avoir 2 pseudo pareil? alors que mon code verifie normalement si 1 pseudo identque est deja present dans la bdd, vu que les 2 pseudos sont inscrits en meme temps...les 2 s'inscriront sous le meme pseudo?

    comment faire pour gerer ce probleme? modifier le code? la bdd?

    merci

  2. #2
    Membre éclairé Avatar de schwarzy2
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2006
    Messages : 464
    Par défaut
    bah, ça dépend, quelles sont tes règles de gestion?

  3. #3
    Membre éclairé Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Par défaut
    ha, la je sens que ca devient serieux....

    que veut tu dire par regle de gestion?

  4. #4
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 815
    Billets dans le blog
    14
    Par défaut
    Vu la rapidité des processeurs, la vraie simultanéité est très rare, voire même impossible vu les mécanismes employés par la machine pour gérer les instructions à exécuter.

    Le truc le plus simple est sans doute de mettre une contrainte d'unicité sur la colonne qui porte le nom de l'utilisateur. Ainsi un simple INSERT du nouveau nom d'utilisateur renverra une erreur à gérer par le programme si le nom existe déjà.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Membre éclairé Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Par défaut
    justement, j ai mis ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $verification = mysql_query("SELECT COUNT(*)
     FROM membre WHERE pseudo='$pseudo' OR mail='$mail'");
    mais si deux membres s inscrivent en meme temps?
    s'ils cliquent sur le meme bouton en meme temps???

    mon site de jeu (concu pour recevoir des milliers d inscrits) est fichu!

    c est SI rare que ca?

    merci

  6. #6
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 815
    Billets dans le blog
    14
    Par défaut
    Même s'ils cliquent en même temps, le temps d'acheminement de la requête http ne sera pas le même. Les deux instructions seront traitées séparément.

    Par contre, ce que tu as fait peut effectivement poser des problèmes :
    1) Inscription du joueur A arrive
    2) Inscription du joueur B arrive et est mis en file d'attente
    3) Programme exécute requête de vérification d'existence du pseudo demandé par joueur A et retourne résultat 0 (pseudo non encore existant)
    4) Programme exécute requête de vérification d'existence du pseudo demandé par joueur B et retourne résultat 0 (pseudo non encore existant) !!
    5) Programme exécute requête d'ajout du joueur A
    6) Programme exécute requête d'ajout du joueur B avec le même pseudo que A !!

    Maintenant si tu mets une contrainte d'unicité sur la colonne pseudo et sur la colonne mail, tu n'as pas besoin de lancer une requête de vérification. Tu exécutes directement une requête d'insertion et tu captures l'éventuelle erreur retournée par MySQL.
    Le joueur A pourra s'inscrire avec le pseudo non encore existant et le joueur B sera refusé par MySQL.

    Il faut savoir qu'une table est bloquée en écriture lors d'un INSERT. Deux INSERT ne peuvent pas s'exécuter en même temps.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  7. #7
    Membre chevronné
    Homme Profil pro
    Lead Dev Web
    Inscrit en
    Avril 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lead Dev Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2005
    Messages : 282
    Par défaut
    Contrainte UNIQUE sur ta colonne pseudo dans ta BDD

  8. #8
    Membre éclairé Avatar de kaking
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2008
    Messages : 753
    Par défaut
    MERCI BEAUCOUP

    VRAIMENT




    par contre je sais pas comment mettre des champs uniques....

    m'enfin vais m'renseigner.



    merci merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tutoriel sur le BDE ? (et question en même temps!)
    Par Yomane dans le forum C++Builder
    Réponses: 7
    Dernier message: 18/02/2004, 17h39
  2. Que deux événements qui se passent en même temps.
    Par Melchisedec dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 03/08/2003, 14h24
  3. Lancer deux sons en même temps...
    Par Julien_riquelme dans le forum API, COM et SDKs
    Réponses: 1
    Dernier message: 03/05/2003, 17h00
  4. 2 fonctions qui tournent en même temps
    Par GOUGOU1 dans le forum C
    Réponses: 7
    Dernier message: 07/12/2002, 18h42
  5. gérer le clic gauche-droite en même temps de la sou
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 29/11/2002, 22h52

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