2011-10-07 7 views
0

초대 기능을 구현 중입니다. 그래서 데이터베이스에는 다음과 같은 필드가 있습니다 : invite_number, person_sending, user_receivingemail_to_send_to. PHP 친구 초대 링크

Invite_number

user_receiving이 계정 사용자의 사람의 ID입니다 있지만 사이트에 등록되지 않은, person_sending는 요청을 보내는 사람의 ID입니다, 요청에 대해 기본적으로 ID이며, email_to_send_to 메일이었다 이메일입니다 전송.

사용자에게 이메일 링크를 보낼 때 전자 메일을 보낸 사람이 계정을 만들었 음을 사용자에게 알려주려면 어떻게해야합니까?

domain.com/signup.php?id=$invitenumber 이메일 링크를 보내고 있습니까?

그런 다음 $invitenumber을 사용하여 사용자에게 알리시겠습니까?

답변

1

나에게 맞는 소리가 들리면 초대장 번호를 사용하여 올바른 사용자에게 가입 안내장을 알리고 일부 필드에 표시하여 다른 사람이 두 번 이상 사용하지 않도록하십시오.

데이터베이스 열의 이름을 좀 더 명확하게 지정하는 것이 좋습니다. invite_number는 'id'일 수 있습니다 - 테이블은 '초대장'이고 ID는 초대 (행) ID입니다. 또한 다른 테이블 필드를 참조하는 필드의 이름을 분명히 밝혀 사용자가 이해할 수 있도록하십시오. 예를 들어 person_sending은 sender_id, receiver_id 등일 수 있습니다. 단지 2 센트입니다.

+0

감사합니다. – AAA

1

예, 올바른 방법입니다. 초대 번호를 암호화하거나 invite_number 필드를 GUID로 사용하는 것을 잊지 마십시오. 그렇지 않으면 사용자가 링크를 복사하고 ID 번호를 수정 (증가/감소)하고 다른 초대를 수락 할 수 있습니다. 그 이외의 방법은 괜찮습니다.

+0

네가 바로 난 난수를 생성하는 GUID를 사용하고 있습니다. 그리고 한 번 사용 된 #id를 비활성화하기 위해 다른 필드를 사용합니다. – AAA

+0

간단한 md5 해시는 항상 이런 종류의 (매우 중요하지 않은) 비밀 스킬을 URL에 사용합니다. '초대 코드'로 무작위로 해시 할 수 있습니다 (예 : $ hash = md5 (time(). $ email);). 쉬운 일이야! – giorgio

관련 문제