2009-08-18 4 views
10

등록하는 동안 중복 된 전자 메일 주소를 방지하려고합니다. 같은 이메일 주소가 두 번 접수되지 않도록 입력시 텍스트 상자의 유효성을 검사하려면 어떻게해야합니까?사용자 등록 양식에서 중복되는 전자 메일 주소를 방지하는 방법은 무엇입니까?

+55

"새로운 사용자에게 무례하게"배지는 어디에 있습니까? 우리는 요즘 많은 사람들을 나눠주고 있습니다. 그 사람에게 조금 여유를주지 마라. 영어는 아마도 그의 첫 번째 언어가 아니며 여기에 처음 등장한 언어 일 것입니다. 적어도 그는 가입하기를 귀찮아했다. – tvanfosson

+7

@tvanfosson에 전적으로 동의합니다. 아마도 전문가 교환에 관한 질문을하는 것이 더 낫지 만 ...? – Kieron

+8

큰 스택 오버 플로우 문제를 가리키는 tvanfosson +1. – bastianneu

답변

0

양식을 제출할 때 텍스트 상자에/그 코드를 입력하지 말고 양식이 이미 사용되었는지 확인합니다. 또한 (사용자가 입력하는 동안) 다르게하기를 원하면 ajax를 사용하여이를 수행 할 수 있습니다.

15

아마도 데이터베이스의 해당 열에 대해 고유성 제약 조건 (고유 인덱스)으로 처리하는 것이 가장 적절하다고 생각합니다. 이렇게하면 데이터베이스의 무결성이 보장되고 오류 메시지를 확인하여 실패한 삽입/업데이트가 원인인지 여부를 확인할 수 있습니다.

1

나는 두 가지 방법을 알고 있습니다.

방법 1 : 데이터베이스를 동적으로 쿼리하고 "이 전자 메일 주소는 이미 서버에 있습니다. 다른 전자 메일 주소를 선택하십시오"라는 메시지를 표시합니다. 사용자가 텍스트 상자에 입력 할 때마다 확인 작업을 수행 할 것입니다.

2 단계 : 정보를 제출할 때 모든 정보가 수용 가능한지 확인하기 위해 검증 루틴을 실행해야합니다. 귀하의 경우 전자 메일 주소의 중복 여부를 확인하는 것이 좋습니다.

두 번째 방법을 권장합니다. 서버로드가 줄어 듭니다.

0

데이터베이스의 고유 인덱스를 모두 사용하여 데이터 무결성을 보호하는 것이 좋지만 제출시 또는 이메일 주소를 확인하는 일부 아약스 호출을 통해 유효성을 검사해야합니다.

관련 문제