PHP를 사용하는 이메일 주소를 확인하는 방법
이렇게하면 사용자의 이메일 주소의 확인이 필요 한가? 문제 없어. 이미 이메일 확인을 필요로하는 많은 이유들이있습니다, 그리고 PHP는 간단합니다.
이메일 확인 단계가 완료 될 수있다 :
- 당신이 그들에서 (자신의 이메일 주소를 포함한 필요한 모든 정보에 대한 사용자 프롬프트)
- 데이터베이스에이 데이터 입력
- 사용자가 특수 확인 키와 함께 이메일로 보내기
- 한번 확인 키 입력 ""데이터베이스에서 데이터를 해제한다.
어떻게 할 일 :
<? PHP는
/ / 먼저, 데이터베이스에 연결하자
$ user_name은 = "dbUserName";
$ 호스트 = "dbHost";
$ my_password = "dbPassword";
$ db_name = "DBNAME";
/ / 서버와 데이터베이스에 연결을 선택합니다.
, "$user_name" , "$my_password" ) or die ( "cannot connect to server" ); "호스트 ("$ mysql_connect, "$ user_name은", "$ my_password") 또는 죽을 ( "서버")에 연결할 수없습니다;
) or die ( "cannot select DB" ); mysql_select_db ( "$ db_name") 또는 죽을 ( "") DB를 선택할 수없습니다;
만약 사용자가 양식이 있어야 / / 그 다음 줄을 표시는 기본적으로 묻습니다. 읽어 내려 조금 원한다면 변수는 어디에서 와서보고
(@ $_GET [ 'first' ] == "no" ) && ! (@ $_GET [ 'confirm' ] == "yes" ){ 만약 (! (@에 $ _GET [ '처음'] == "아니오") & &! (@에 $ _GET [ '확인'] == "예") (
/ / 이후로 이번이 첫 페이지를 표시하고 확인 코드는 우리가 밖으로 채우도록 사용자에 대한 양식을 표시해야한다 포함되어있습니다
/ /이 양식은 오직 하나의 인자 (사용자의 이메일 주소)이 걸립니다.
?>
method= "post" action= "index.php?first=no" > name=를 <form "emailConfirmation" method= "post" action= "index.php?first=no">
<표 align="center">
<tr>
<td>
type= "text" id= "email" size= "30" /> 메일 : <input name= "email" type= "text" id= "email" size= "30" />
</ td>
</ tr>
<tr>
<td align="center">
name= "Submit" value= "Submit" /> <input type= "submit" name= "Submit" value= "Submit" />
</ td>
</ tr>
</ 테이블>
</ 양식>
<? PHP는
)
/ / 만약의 양식을 기입하고있다, 우리가 확인 코드를 생성하는 방법, 데이터베이스로 확인 코드와 사용자의 이메일을 삽입해야하고 이메일 주소로 이메일을 보내주시기 바랍니다.
[ 'first' ] == "no" ){ //if the form has been filled out… 이 elseif (@에 $ _GET [ '처음'] == "아니오") (/ / 만약의 양식을 기입하여왔다 ...
/ / is_valid_email_address 없다는 유효한 PHP 함수입니다. 자신의 이메일 주소를 확인 삽입 기능을 여기 ...
is_valid_email_address( $_POST [ 'email' ])) 만약 (! ($ _POST [ '이메일'])) is_valid_email_address); 유효하지 않은 ( "죄송합니다 야호! 당신이 입력한 이메일 주소입니다.");
/ / 경우 유효한 이메일 주소가 나타납니다하고 안전한 ...
다른 (]); $ 이메일 = ($ _POST [ '이메일']);
/ / 여기에 확인 코드를 생성합니다. 이게 내가 할 수를 선택하는 방식이지만, 이미 그 일을한다 무수한 가지가있습니다.
( rand ())); $ =있는 md5 CONFIRMATION_CODE ((랜드 ())); uniqid
/ / 모든 것이 더 많거나 적은 데이터베이스에 입력하고 다음 사용자에게 이메일을 보내 확인됩니다
$ 쿼리 = "삽입 INTO를 emailConfirmationTable (con_code) user_email 값 ( '$ 이메일', '$ CONFIRMATION_CODE')";
("Config Error 2223 "); $ 결과 = mysql_query ($ 쿼리) 또는 죽을 ( "구성 오류 2223");
/ / 이메일 보내기
달러 = $ 이메일;
$ 주제 = "당신 shortlikeafox 예를 확인"; / /부터
$ 헤더 = "에서 : shortlikeafox <info@shortlikeafox.com>";
/ / 귀하의 메시지
$ 메시지 = "당신 Comfirmation 링크!에 \ r \ n";
$ 메시지 .= "이 링크를 클릭하여 계정을 활성화에 \ r \ n";
미확인 이메일 때마다 나는 청소 같은 느낌이 만료 메시지 달러 .= "이 링크 (매주 또는 그래서)에 \ r \ n";
$ 메시지 .= "http://www.shortlikeafox.com/simple-email-confirmation-example/index.php?confirm=yes&confirmCode = $ CONFIRMATION_CODE에 \ r \ n";
$ 보냄 = 메일 ($, $ 제목, $ 메시지, $ 헤더);); ( "확인 이메일을 보냈습니다 야호!");
)
)
/ / 만약 사용자가 이메일에있는 링크에서 해당 스크립트 그걸 확인 찾았을 때 ....
[ 'confirm' ] == "yes" ){ 이 elseif (@에 $ _GET [ '확인] == "예") (
/ / confirmCode 상대적으로 사용하는 것이 안전합니다
[ 'confirmCode' ]); $ confirmCode = mysql_real_escape_string (@에 $ _GET [ 'confirmCode']);
$ 쿼리 = "선택 * 곳에서 con_code = '$ emailConfirmationTable confirmCode'과 is_confirmed = '0 '";
( "Error 234234" ); $ 결과 = mysql_query ($ 쿼리) 또는 죽을 ( "오류 234234");
$ nrows = mysql_num_rows ($ 결과);
1){ ($ nrows == 1) (면
$ 쿼리 = "업데이트 emailConfirmationTable의 SET is_confirmed = '1 '은 어디 con_code ='$ confirmCode '";
( "Config Error 222231231233 " ); $ 결과 = mysql_query ($ 쿼리) 또는 죽을 ( "구성 이천이백이십이억삼천백이십삼만천이백서른세 오류");
($ 결과)
); 에코 ( "이메일을 확인했다!");
)
그 밖의
); ( "") 이메일을 확인할 수없습니다 에코;
)
?>
아주 정보의 유효성을 기억하는 것이 중요합니다 그 어떤 형태로든 사용자 삽입합니다. 네,하지만 위의 이메일 주소를 검증하기위한 기능이 포함되지 않았다를 시작하기 좋은 곳이 칼 헨더슨의 이메일 유효성 검사 기능입니다 여기서 발견했다.
이 스크립트를보고 싶은 경우에는 동작에서, 그렇게 이곳에서 할 수있습니다.






















