Page 1 of 1

(erledigt) session_id in Ausgabe Zeichen kürzen

Posted: 2008-09-30 10:48
by fulltilt
Kann man die Ausgabe der Session ID (32 Zeichen) auf 20 Zeichen kürzen?

Code: Select all

zen_draw_hidden_field('transid', zen_session_id() );
#EDIT# Habs gefunden:

Code: Select all

substr(zen_session_id(), 0, 20) );

Re: (erledigt) session_id in Ausgabe Zeichen kürzen

Posted: 2008-09-30 12:14
by Joe User
fulltilt wrote:

Code: Select all

substr(zen_session_id(), 0, 20) );
Das ist eine ganz böse Idee. Wie willst Du so doppelte SIDs vermeiden? Die Länge von 32 Zeichen hat schon einen Grund...

Re: (erledigt) session_id in Ausgabe Zeichen kürzen

Posted: 2008-09-30 12:27
by fulltilt
sorry - hatte nicht alle Infos dazu angegeben :-)
Die SIDs bleiben mit 32 Zeichen erhalten, ich verwende diese nur zusätzlich als Transaction ID für ein payment gatway, also nur für diesen Vorgang - ich lese die Session ID gekürzt aus und verwende diese als transaction_id - diese darf aber nur 20 zeichen lang sein ....

Joe User wrote:
fulltilt wrote:

Code: Select all

substr(zen_session_id(), 0, 20) );
Das ist eine ganz böse Idee. Wie willst Du so doppelte SIDs vermeiden? Die Länge von 32 Zeichen hat schon einen Grund...

Re: (erledigt) session_id in Ausgabe Zeichen kürzen

Posted: 2008-09-30 12:51
by fulltilt
matzewe01 wrote: Immer noch eine Böse Idee.
Was macht das Payment Gateway, wenn 2 mal die gleiche Transaction id an kommt?
Ich würde eher eine fortlaufende Alphanumerische Nummer (HEX Code) verwenden.
Damit lässt sich eine Transaktion archivieren und auch später noch nach vollziehen.
Sonst hast Du hinterher mehrere Transaktionen mit gleicher Id.
Ja - sollte ich noch verbessern - entweder fortlaufend oder eventl. die Kundennummer noch anhängen.

Re: (erledigt) session_id in Ausgabe Zeichen kürzen

Posted: 2008-09-30 19:16
by fulltilt
matzewe01 wrote: IMit Kundenid, kann unter Umständen immer noch eine transaktionsid doppelt auftreten auch wenn die Wahrscheinlichkeit gering ist.
Wenn es denn mal passiert, im Jahre x dann denkt kein Mensch mehr dran, dass es daran (Erzeugung der sessionid) liegen könnte.
Hast ja Recht :-)
Sollte - wenn schon ordentlich gemacht werden - Danke Dir.