php eindeutige Kennung für Clients

8

Ich habe eine eindeutige Kennung für den Client, die ich jedes Mal erzeuge, wenn ein Client eine Serviceunterstützung anfordert.

Sobald die ID generiert wurde, wird die ID in die Datenbank eingefügt

hier mein Code:

%Vor%

diese Ausgabe: 071120112032291320715949.928639888763427734375000

Aus irgendeinem Grund bekomme ich 071120112032291320715949 als die Nummer. Was mache ich falsch?

    
David Peter 08.11.2011, 01:38
quelle

2 Antworten

6

Sie müssen das "." (Punkt) in Ihrer Funktion. Sie verwenden wahrscheinlich eine INT, die Zahlen nach dem Punkt entfernt.

return str_replace('.', '', date('dmYHis').$duration);

und stellen Sie sicher, dass das Feld groß genug ist - wie varchar (50)

Meine Empfehlung wird sein, die Client-ID einfach mit md5 zu hashen

md5($clientid)

und Sie haben das mysql-Feld als char (32)

    
Book Of Zeus 08.11.2011, 01:39
quelle
4

Sie haben Ihre Lösung bereits in Ihrem Code. Die PHP-Funktion uniqid () liefert ... nun, eine eindeutige ID. Wenn Sie sicherstellen möchten, dass es wirklich wirklich wirklich einzigartig ist (obwohl es nicht notwendig ist), fügen Sie einfach time () an das Ende, wie folgt:

%Vor%

Dies würde auch Buchstaben mit Zahlen (höhere Entropie) zurückgeben, wie diese Antwort:

%Vor%     
Jemaclus 08.11.2011 01:45
quelle

Tags und Links