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 :

Générer un identifiant unique lors d'un postback


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    410
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 410
    Points : 90
    Points
    90
    Par défaut Générer un identifiant unique lors d'un postback
    Bonjour,

    Je cherche à générer un identifiant unique de transaction lors d'un postback. Chaque transaction généré entraîne un appel sur une url externe à laquelle je dois passer un identifiant unique de transaction et ce pour éviter les doublons. L'url externe pourra ainsi contrôler que cette transaction n'a pas déja été traité. Ma question porte sur comment générer un identifiant unique crédible pour chaque transaction.

    - Utiliser uniqid() n'est pas envisageable car 2 transactions faite au même moment génèrerait le même identifiant et cette fonction est dite comme "non garantie".
    - Utiliser un champ autoincrement dans un fichier des postbacks est une solution aussi mais qui peut devenir lourde avec le risque d'atteindre la valeur maximum du champ autoincrement.

    Une idée ?

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 107
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 107
    Points : 8 230
    Points
    8 230
    Billets dans le blog
    17
    Par défaut
    Avec MySQL un BIGINT UNSIGNED peut monter jusqu'à 2^64-1

    Sinon il y a les UUID : https://github.com/ramsey/uuid (par un des auteurs de PHP)
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 224
    Points
    20 224
    Par défaut
    Uniqid avec le paramètre "more_entropy" a true a quand même de bonne chance de faire l'affaire si tu ne traite pas des centaines de requête par seconde.

    Les uuid ont les même problématiques de potentielle non unicité (c'est très rare , mais possible).
    Perso j'ai jamais eu le PB et ce malgré une utilisation plutôt intensive dans une grosse app C++
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/01/2019, 16h08
  2. Requête : générer un identifiant unique à la volée
    Par fafa63 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 09/07/2014, 14h48
  3. Identifiant unique lors d'un login
    Par IsraGab dans le forum ASP.NET
    Réponses: 2
    Dernier message: 28/08/2011, 10h38
  4. [PHP 5.3] Générer un identifiant unique
    Par 123quatre dans le forum Langage
    Réponses: 6
    Dernier message: 18/12/2009, 16h43
  5. Générer un identifiant unique sur une requete "update"
    Par programaniac dans le forum Langage SQL
    Réponses: 6
    Dernier message: 03/06/2009, 10h00

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