티스토리 뷰



1. 회원 가입 관련 필드에 컬럼 2개 추가

 --> activation_status =>  , 회원 가입 진행상태 필드 ,
--> activation_key =>, 가입한 이멜로 전송되어 보내지는 승인 키 값


2. 회원 가입이 완료 되면

-- status , key 지정


3. 기입한 이메일로 멜 보내기

중요 ) 파라미터로로 , email, key 를 작성해서 보낸고, 그링크를 타서 회원 인증을 수행 할 수 있도록 한다.


4. 이메일과 키값 비교후 회원 인증처리하기


// 키값 생성 함수
function gen_activation_key($email){    
    $generatedKey = sha1(mt_rand(10000,99999).time().$email);
    return $generatedKey;
}

// 승인 메일 보내기 함수
function verificationMAIL($gKEY,$email){
    $to=$email;
    $from='do-not-reply@example.com';
    $subject='Verify your Email Address - EXAMPLE.COM';
    $headers .= 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
   // $mailMsg='http://example.com/activation.php?email='.$email.'&key='.$gKEY.'";
    mail($to,$subject,$mailMsg,$headers);
}

// 요청온 키값에 따라 검사하기
function verifyEmailAddress($email, $vkey){
        msConnect();
        $query=mysql_query("SELECT * FROM users WHERE email='$email' AND activation_key='$vkey'");
         
        $fetch=mysql_fetch_array($query);
        if($fetch['activation_status'] == 'Active'){
            $output='Your Email has already been verified.';
        }else{
            $cnt=mysql_num_rows($query);
            if($cnt=='1'){
                $updateQ=mysql_query("UPDATE users SET activation_status='Active' WHERE email='$email' AND activation_key='$vkey'");
                if($updateQ){
                    $output='Email Verified';
                }else{
                    $output='System Faced an error while updating your status.';
                }
            }else{
                $output='Unable to verify your email address.';
            }
        }
        mysql_close();
        return $output;
}
댓글
D-DAY
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함