10
votes

Comment prévenir les adresses électroniques en double sur un formulaire d'inscription à l'utilisateur?

Je veux empêcher les adresses électroniques en double lors de l'enregistrement. Comment allez-y de la validation de la zone de texte à l'entrée afin que la même adresse e-mail ne soit pas acceptée deux fois?


8 commentaires

Où est-ce que le badge "sois impoli à un nouvel utilisateur"? Nous allions en remettre beaucoup d'entre eux ces jours-ci. Couper la personne un peu de mou. L'anglais n'est probablement pas sa langue maternelle et sa première fois ici. Au moins il gênait de s'inscrire.


Totalement d'accord avec @tvanfosson, peut-être qu'ils seraient mieux de poser la question sur les experts-échange ...?


+1 pour TVANFosson pour pointer vers un véritable problème de dépassement de la pile.


@tvanfosson: Eh bien, à mon avis, ce n'est pas une question d'être nouveau, voire de la première langue. Il s'agit d'être dérangé pour structurer votre question afin que vous donniez aux intervenants les informations dont ils ont besoin pour vous aider. 1) Les gens partagent gentiment leurs connaissances 2) Ils donnent librement leur temps d'écrire une réponse cohérente. 3) Les questions paresseuses ne font pas une bonne archive de la connaissance. Si l'affiche ne peut pas investir le temps de décrire correctement leur problème, pourquoi d'autres devraient-ils investir leur temps pour aider?


Avez-vous considéré que l'OP a fait le mieux qu'ils pourraient? Si vous avez déjà voyagé dans un pays où la langue n'était pas votre première, et que vous aviez besoin d'aide mal, mais tout le monde a refusé de vous aider parce que vous ne pouviez pas dire les phrases à droite, voudriez-vous cela?


@Sosh: Je pense que beaucoup de fois, ces questions sont si mauvaises parce que l'OP ne peut pas commencer par une bonne question dans sa langue, puis traduire en anglais. Pour tout ce que nous savons, il aurait peut-être pu écrire une très bonne question dans sa propre langue.


@Gman - Eh bien, comme je l'ai dit, je ne crois pas que ce soit une chose de langue. En fait, je vis dans un pays où la langue n'est pas mon premier.


@Sosh: Je ne sais pas pourquoi, mais nous avons des questions de personnes dont l'anglais est vraiment mauvais. Peut-être qu'il y a une chose culturelle ou économique où la plupart des anglophones non indigènes seraient embarrassés si leur anglais était si mauvais, mais que l'embarras est une considération secondaire à ces utilisateurs. Il y a un chevauchement important entre l'ensemble des utilisateurs avec un très mauvais anglais et l'ensemble qui ne reviendra pas pour clarifier une question.


4 Réponses :


0
votes

Ce code ne serait pas entré dans / sur une zone de texte plutôt que lorsque les formulaires sont soumis, vous voulez vérifier s'il était déjà utilisé. De plus, si vous voulez le faire autrement (lorsque l'utilisateur tape), vous pouvez utiliser AJAX pour vous aider à faire cela.


0 commentaires

17
votes

Je pense que c'est probablement le plus approprié traité comme une contrainte d'unicité (ou un index unique) sur cette colonne de la base de données. Cela garantira l'intégrité de la base de données et vous pouvez vérifier le message d'erreur pour déterminer si l'insertion / la mise à jour échouée était la cause.


0 commentaires

1
votes

Je connais de deux manières.

Way 1: interrogez de manière dynamique la base de données et affichez un message tel que: «Cette adresse électronique est déjà sur le serveur, veuillez choisir une autre" Vous feriez le chèque à chaque fois l'utilisateur saisi dans la zone de texte.

Way 2: avoir une inscription en deux phases où sur la soumission des informations, vous avez une routine de validation exécutée pour vérifier que toutes les informations sont acceptables - dans votre cas, il serait de vérifier la duplication des adresses électroniques.

Je recommande la deuxième façon que je monte - il réduit la charge du serveur.


0 commentaires

0
votes

Je suggérerais de faire à la fois l'index unique de la base de données pour protéger l'intégrité des données, mais vous devez également avoir des validations à soumettre ou via certains appels AJAX qui vérifient également l'adresse électronique.


0 commentaires