Identifiant unique qui pourra être utilisé dans une base de données.
    Cet identifiant est généré à partir de la date et heure système (à la seconde près), pour qu'il soit unique il faut donc que l'appel ne soit pas fait plus vite qu'une fois par seconde, mais pour entrer des infos dans une base de données, ça doit être largement suffisant. L'identifiant est une suite de 6 caractères (chiffres et lettres en majuscules).

    L'utilisation en est très simple... il suffit dans le fichier .html qui doit récupérer cet identifiant, de mettre la commande :

    <? include "uniqid.inc";>

    et ensuite de travailler avec la variable $uniqid qui sera ainsi créée.

    Voici un exemple de ce que ça donne (pour chaque nouvel identifiant, il suffit de recharger la page) :

      K6AHFQ

    Ci-dessous vous trouverez le source du fichier uniqid.inc. J'ai adapté cette fonction à partir d'un code-source d'une librairie clipper (VernSix).


    <?
    /* Script PHP/FI 2.0. 
       Identifiant unique par la transformation en base 36 de la date/heure système.
       Le résultat est une chaîne de 6 caractères (lettres et chiffres).
       (Adaptation par bea@altern.org d'une fonction de la librairie clipper VernSix) */;
    
    /* --------------------- */;
    /* Fonction qui convertit un entier en base 36 */;
    /* --------------------- */;
    
    function DecTo36 $pnInteger (
    
    $cTbl    = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    
    $nTemp      = IntVal( $pnInteger / 60466176 );
    $cRetVal    = substr($cTbl,$nTemp,1);
    $pnInteger  = $pnInteger - ( $nTemp * 60466176 );
    
    $nTemp      = IntVal( $pnInteger / 1679616 );
    $cRetVal    = $cRetVal + substr($cTbl,$nTemp,1);
    $pnInteger  = $pnInteger - ( $nTemp * 1679616 );
    
    $nTemp      = IntVal( $pnInteger / 46656 );
    $cRetVal    = $cRetVal + substr($cTbl,$nTemp,1);
    $pnInteger  = $pnInteger - ( $nTemp * 46656 );
    
    $nTemp      = IntVal( $pnInteger / 1296 );
    $cRetVal    = $cRetVal + substr($cTbl,$nTemp,1);
    $pnInteger  = $pnInteger - ( $nTemp * 1296 );
    
    $nTemp      = IntVal( $pnInteger / 36 );
    $cRetVal    = $cRetVal + substr($cTbl,$nTemp,1);
    $pnInteger  = $pnInteger - ( $nTemp * 36 );
    
    $nTemp      = IntVal( $pnInteger );
    $cRetVal    = $cRetVal + substr($cTbl,$nTemp,1);
    
    return($cRetVal);
    );
    
    /* --------------------- */;
    /* Utilisation de la fonction DecTo36 avec la date/heure système */;
    /* --------------------- */;
    
    function Unique(
      return(DecTo36(time()));
    );
    
    /* --------------------- */;
    /* Récupération du résultat */;
    /* --------------------- */;
    
    $uniqid = Unique();
    >
    

    Page consultée fois.