Kako Potvrdite adresu e-pošte koristeći PHP
Tako vam je potrebna potvrda o korisnikovu e-mail adresu? Nema problema. Ima mnogo razloga da zahtijeva potvrdu e-pošte, i PHP čini jednostavna.
Email potvrdu može biti dovršen je ove korake:
- Prompt korisnika za informacije koje su vam potrebne bilo što od njih (uključujući i njihove adrese e-pošte)
- Unos podataka u bazu podataka
- Pošalji e-mail korisniku sa posebnim tipku za potvrdu
- "Otključaj" podataka u bazi nakon potvrde ključ je ušao.
Kako ćete to učiniti:
<? php
/ / Prvo, neka se spojiti na bazu podataka
korisničko_ime $ = "dbUserName";
$ host = "dbHost";
$ my_password = "dbPassword";
$ db_name = "dbName";
/ / Connect to server i odabrati bazu podataka.
, "$user_name" , "$my_password" ) or die ( "cannot connect to server" ); mysql_connect ($ host, $ korisničko_ime "," $ my_password ") ili die (" ne može spojiti na poslužitelj ");
) or die ( "cannot select DB" ); mysql_select_db ( "$ db_name") ili die ( "ne mogu odabrati DB");
/ / Sljedeći redak u osnovi pita ako korisnik mora imati obrazac prikazane. Pročitajte malo dolje ako želite vidjeti gdje dolazi iz varijable
(@ $_GET [ 'first' ] == "no" ) && ! (@ $_GET [ 'confirm' ] == "yes" ){ if (! (@ $ _GET [ 'prvi'] == "ne") & &! (@ $ _GET [ 'potvrdu'] == "yes") (
/ / Ovo je stranica prvi zaslon i nijedan potvrdni kod je uključen bismo trebali prikazati obrazac za korisnika da ispunite
/ / Ovaj obrazac samo jedan argument (korisnikovu e-mail adresu).
?>
method= "post" action= "index.php?first=no" > <form name= "emailConfirmation" method= "post" action= "index.php?first=no">
<table align="center">
<tr>
<td>
type= "text" id= "email" size= "30" /> Email: <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>
</ table>
</ form>
<? php
)
/ / ako je obrazac ispuniti, trebamo generirati potvrda, umetnite potvrda i e-pošte korisnika u bazu podataka, i poslati poruku na adresu e-pošte.
[ 'first' ] == "no" ){ //if the form has been filled out… elseif (@ $ _GET [ 'prvi'] == "ne") (/ / ako je obrazac ispuniti ...
/ / is_valid_email_address nije valjana php funkciju. Insert vlastitu adresu e-pošte provjera funkcija ovdje ...
is_valid_email_address( $_POST [ 'email' ])) if (! is_valid_email_address ($ _POST [ 'e-pošte']))); echo ( "Žao nam je! E-mail adresa koju ste unijeli nije valjan.");
/ / Ako se pojavi valjanu adresu e-pošte i siguran ...
else (]); e-pošta = $ ($ _POST [ 'e-pošte']);
/ / Generirajte potvrda ovdje. To je način na koji sam se odlučio za to, ali postoji bezbroj načina na koje će raditi.
( rand ())); $ CONFIRMATION_CODE = md5 (uniqid (Rand ()));
/ / Sve je više-manje u redu za ulazak u bazu podataka, a zatim pošaljite e-mail na korisnika
$ query = "INSERT NA emailConfirmationTable (user_email, con_code) vrijednosti ( '$ e-pošte', '$ CONFIRMATION_CODE')";
("Config Error 2223 "); $ rezultat = mysql_query ($ query) or Die ( "Config Error 2223");
/ / Pošalji poruku e-pošte
= $ $ na e-pošte;
$ subject = "Vaš shortlikeafox primjer potvrdu"; / / Od
$ header = "from: shortlikeafox <info@shortlikeafox.com>";
/ / Vaša poruka
$ poruka = "Comfirmation Vaš link! \ r \ n";
$ poruka .= "Kliknite na ovaj link kako bi aktivirali vaš korisnički račun \ r \ n";
$ poruka .= "Ova veza s isteći svaki put kad mi je van čišćenje nepotvrđen e-pošte (svaki tjedan ili tako) \ r \ n";
$ poruka .= "http://www.shortlikeafox.com/simple-email-confirmation-example/index.php?confirm=yes&confirmCode = $ CONFIRMATION_CODE \ r \ n";
$ poslanapošta = mail ($ to, $ subject, $ poruka, $ header);); echo ( "Vaš e-poštu potvrde je poslana!");
)
)
/ / Ako korisnik pronađena ova skripta iz linka u svojoj e-poštom, potvrdite ga ....
[ 'confirm' ] == "yes" ){ elseif (@ $ _GET [ 'potvrdu'] == "yes") (
/ / Neka confirmCode relativno sigurno za uporabu
[ 'confirmCode' ]); $ confirmCode = mysql_real_escape_string (@ $ _GET [ 'confirmCode']);
$ query = "SELECT * FROM emailConfirmationTable GDJE con_code = '$ confirmCode' i is_confirmed ='0 '";
( "Error 234234" ); $ rezultat = mysql_query ($ query) ili die ( "Greška 234234");
$ nrows = mysql_num_rows ($ rezultat);
1){ if ($ nrows == 1) (
$ query = "UPDATE emailConfirmationTable SET is_confirmed ='1 'gdje con_code =' $ confirmCode '";
( "Config Error 222231231233 " ); $ rezultat = mysql_query ($ query) or Die ( "Config 222231231233 Greška");
if ($ rezultat)
); echo ( "EMAIL-A!");
)
drugi
); echo ( "Ne mogu potvrditi Email");
)
?>
Vrlo je važno zapamtiti da provjeriti informacije koje korisnik unosi u bilo kojem obliku. Nisam sadržavati funkciju za provjeru valjanosti adresa e-pošte gore, ali je dobro mjesto za početak je Cal Henderson e-mail validation funkciju naći ovdje.
Ako želite vidjeti ovu skriptu u akciji, to možete učiniti ovdje.






















