2009-08-18 9 views
10

Voglio evitare indirizzi email duplicati durante la registrazione. Come dovrei fare per convalidare la casella di testo sulla voce in modo che lo stesso indirizzo email non venga accettato due volte?Come impedire indirizzi email duplicati su un modulo di registrazione utente?

+55

Dov'è il badge "Sii scortese con un nuovo utente"? Oggi li daremo a molti di loro. Tagliare la persona un po 'allentata. L'inglese probabilmente non è la sua prima lingua e la sua prima volta qui. Almeno si è preso la briga di iscriversi. – tvanfosson

+7

Totalmente d'accordo con @tvanfosson, forse sarebbe meglio fare la domanda su Experts-Exchange ...? – Kieron

+8

+1 per tvanfosson per indicare un vero problema di overflow dello stack. – bastianneu

risposta

0

Quel codice non verrebbe inserito in/su una casella di testo, piuttosto quando i moduli vengono inviati si dovrebbe verificare se è stato già utilizzato. Inoltre, se vuoi farlo diversamente (mentre l'utente sta scrivendo) puoi usare ajax per aiutarti a farlo.

15

Penso che sia probabilmente il più appropriato gestito come un vincolo di unicità (o indice univoco) su quella colonna nel database. Ciò garantirà l'integrità del database e sarà possibile controllare il messaggio di errore per determinare se l'inserimento/aggiornamento non riuscito è la causa.

1

So di due modi.

Modo 1: interrogare dinamicamente il database e visualizzare un messaggio del tipo, "Questo indirizzo e-mail è già nel server, per favore scegliere un altro" Faresti il ​​controllo ogni volta che l'utente ha digitato nella casella di testo.

Via 2: disporre di una registrazione in due fasi in cui, durante la sottomissione delle informazioni, si esegue una routine di verifica per verificare che tutte le informazioni siano accettabili; nel caso specifico, sarebbe necessario verificare la duplicazione degli indirizzi di posta elettronica.

Suggerisco il secondo modo che ho messo - riduce il carico del server.

0

Suggerirei di fare sia l'indice univoco sul database per proteggere l'integrità dei dati, ma anche di convalidare l'invio o tramite una chiamata ajax che controlla anche l'indirizzo di posta elettronica.

Problemi correlati