185 messaggi dal 06 settembre 2002
Salve a tutti.
Innanzitutto mi associo al dolore di BrightSoul.
Passiamo al mio dolore.
Sto realizzando un sito che prevede la possibilità di iscriversi ad un convegno.
Ora dovrebbe funzionare tipo Tiscali, ossia nel momento in cui ci si iscrive c'è la domanda "Ho il codice" / "Non ho il codice".
Il problema si crea nel momento in cui un utente non ha il codice e quindi questo gli deve essere assegnato automaticamente.

La chiave primaria del db non è un Contatore ma è un valore univoco che per gli utenti presenti è stato assegnato manualmente, e la struttura è: 00001, 00002, etc.
C'è un metodo per assegnare tale codice in modo tale che questo però non sia uguale a quelli già presenti??.

Grazie.
Francesco

--------------------------------------
http://www.francescocrisafi.it
--------------------------------------

--------------------------------------
http://www.francescocrisafi.it
http://www.my-catanzaro.it
--------------------------------------
Puoi generare un codice casuale sulla base, per esempio dell' indirizzo email. Prima di scriverlo, controlli che non esista già e poi fai il resto...

---[ www.digiscout.it ]---

"This message was written using 100% recycled electrons"
107 messaggi dal 11 giugno 2001
Puoi creare un codice casuale magari 3 caratteri. E poi accodare un numero di controllo (può essere generato da un contatore).

Ad esempio il 33esimo utente potrà essere:
codice casuale: hty
contare: 33

codice cliente: hty33

Non è conveniente crearne uno solo casuale perchè dopo la sua generazione deve essere confrontato con i preesistenti. Problema: se ho 50000 utenti iscritti quante risorse devo rubare al server per confrontare tutti i record? Troppe.

Spero di esserti stato di aiuto

-----------------
Se qualcosa non ti è chiaro ... guardalo da un'altra angolazione, probabilmente sei controluce!
aliosciaperr@biztonet.it
www.biztonet.it
-----------------

-----------------
Se qualcosa non ti è chiaro ... guardalo da un'altra angolazione, probabilmente sei controluce!
aliosciaperr@biztonet.it
www.biztonet.it
-----------------
839 messaggi dal 13 febbraio 2001
Se il codice deve essere unico basta inserirlo in un campo con indici univoci.... se risulta duplicato, riceviamo immediatamente una violazione di chiave e allora riproviamo con un altro.
Oppure un codice composto, magari creato con un algoritmo tipo SHA e con uno o piu' codici di controllo.... Basterebbe il codice contatore progressivo con un algoritmo simile prima di inviarlo.
inoltre poi dopo che uno si è iscritto una volta, quel codice potrebbe essere cancellato dal campo, in modo da non consentire una seconda iscrizione con gli stessi codici.

Ciao!
Paolo
54 messaggi dal 06 settembre 2002
www.archimedesrl.com
Ciao

Ho avuto un problema simile, ed ho dato all'utente il codice con valore = Session.SessionID.



Giovanni Spazioso
http://www.archimedesrl.com



Giovanni SPAZIOSO
MCSE - MCSA Messaanging
http://www.spazioso.org
http://www.archimedesrl.com
http://www.gecomepartners-srl.it
95 messaggi dal 18 aprile 2001
<b>giowen ha scritto:</b>
<BLOCKQUOTE id=quote><font size=1 face="Arial" id=quote><hr height=1 noshade id=quote>
Ciao

Ho avuto un problema simile, ed ho dato all'utente il codice con valore = Session.SessionID.



Giovanni Spazioso
http://www.archimedesrl.com



<hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Arial" size=2 id=quote>

Stai attento, il codice Session.SessionID non è univoco: ogni tanto ricomincia a contare.....
se guardi la documentazione di IIS la MS ha messo un alert su questo fatto grande come una casa...



Ciao by Cobra®
54 messaggi dal 06 settembre 2002
www.archimedesrl.com
Devo confermare quello che ha asserito cobra82, la possiblità che ritorni a contare c'è, ma quando si va su un hosting pubblico (tipo aruba) loro assegnano un unico SessioID non ne creano uno per ogni Sito, e così la possibilità che si abbiano 2 identificativi uguali per ogni sito dovrebbe essere molto bassa.

Può darsi che mi sbagli, aspetto nuove.




giowen
http://www.archimedesrl.com



Giovanni SPAZIOSO
MCSE - MCSA Messaanging
http://www.spazioso.org
http://www.archimedesrl.com
http://www.gecomepartners-srl.it
839 messaggi dal 13 febbraio 2001
Il sessionID può non essere unico: se la sessione termina, automaticamente o manualmente, ma il browser resta aperto e mantiene il suo cookie temporaneo in cui viene salvato il sessionID, IIS apre una nuova sessione ma usando il vecchio SessionID.
Altrimenti puoi farti una tabella con un campo contatore "SessionCode" preso all'inizio di ogni sessione, e te lo salvi anche in una variabile di sessione. IIn tal modo ottieni un codice unico... Poi magari fai cancellare il record della sessione nella tabella al termine della sessione.


Ciao!
Paolo

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.