Tako vam je potrebna potvrda korisnikov e-mail adresu? Nema problema. Ima mnogo razloga da zahtijeva potvrdu e-mail, PHP i omogućuje jednostavno.
E-mail potvrde mogu biti dovršen je ove korake:
- Podsjeti korisnik informacija za sve što vam treba od njih (uključujući i njihove e-mail adresu)
- Unos ove podatke u bazu podataka
- Pošalji e-mail korisniku s posebnim tipku za potvrdu
- "Otključaj" podataka u bazu podataka nakon potvrde ključ je ušao.
Kako to učiniti:
<? PHP
/ / Prvo, neka se spojiti na bazu podataka
$ korisničko_ime = "dbUserName";
$ host = "dbHost";
$ my_password = "dbPassword";
$ db_name = "dbName";
/ / Spajanje na server i odaberite bazu podataka.
, "$user_name" , "$my_password" ) or die ( "cannot connect to server" ); mysql_connect ( "$ host", "$ korisničko_ime", "$ my_password") ili umrijeti ( "ne može spojiti na poslužitelj");
) or die ( "cannot select DB" ); mysql_select_db ( "$ db_name") ili umrijeti ( "ne mogu odabrati DB");
/ / Sljedeći redak u osnovi pita ako korisnik mora imati oblik prikazan. Pročitajte dolje malo ako želite vidjeti gdje se varijable dolaze iz
(@ $_GET [ 'first' ] == "no" ) && ! (@ $_GET [ 'confirm' ] == "yes" ){ if (! (@ $ _GET [ 'prvi'] == "ne") & &! (@ $ _GET [ 'potvrdili'] == "yes") (
/ / Budući da je ovo prva stranica prikaza i bez potvrdnog koda je uključena treba prikazati u obliku za korisnika ispuniti
/ / Ovaj obrazac traje 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" /> E-mail: <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>
</ obrazac>
<? PHP
)
/ / ako je obrazac za ispuniti, moramo generirati potvrda, potvrda ubacite i e-pošte korisnika u bazu podataka, te poslati e-mail 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 funkcija. Umetnite svoju vlastitu adresu e-pošte provjeravanje funkcija ovdje ...
is_valid_email_address( $_POST [ 'email' ])) if (! is_valid_email_address ($ _POST [ 'Email']))
); echo ( "Žao nam je! E-mail adresa koju ste unijeli nije ispravan.");
/ / Ako se pojavi valjanu adresu e-pošte i siguran ...
else (
]); e-mail = $ ($ _POST [ 'Email']);
/ / Izradi potvrdu kod ovdje. To je način na koji sam se odlučio na to, ali ima Bezbroj je načina na koje će raditi.
( rand ())); $ CONFIRMATION_CODE = md5 (uniqid (ivica ()));
/ / Sve je više-manje u redu za upis u bazu podataka i zatim poslati e-mail korisniku
$ upit = "INSERT U emailConfirmationTable (user_email, con_code) vrijednosti ( '$ e-mail', '$ CONFIRMATION_CODE')";
("Config Error 2223 "); $ rezultat = mysql_query ($ upit) ili umrijeti ( "Config Pogreška 2223");
/ / Pošalji e -
$ = $ na e-mail;
$ subject = "Vaša shortlikeafox primjer potvrde", / / Od
$ zaglavlje = "iz: shortlikeafox <info@shortlikeafox.com>";
/ / Vaša poruka
$ poruka = "Vaša Comfirmation vezu! \ r \ n";
$ poruka .= "Klikni na ovaj link kako bi aktivirali svoj korisnički račun \ r \ n";
$ poruka .= "Ova veza s isteći, kad god se osjećam kao čišćenje iz 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 ($ do, $ subject, $ poruka, $ zaglavlje);
); echo ( "Vaš e-pošte s potvrdom je poslana!");
)
)
/ / Ako je korisnik našao ovu skriptu iz vezu u njegovu e-mail, potvrdite ga ....
[ 'confirm' ] == "yes" ){ elseif (@ $ _GET [ 'potvrdili'] == "yes") (
/ / Neka confirmCode relativno sigurno korištenje
[ 'confirmCode' ]); $ confirmCode = mysql_real_escape_string (@ $ _GET [ 'confirmCode']);
$ upit = "SELECT * FROM emailConfirmationTable GDJE con_code = '$ confirmCode' I is_confirmed ='0 ';
( "Error 234234" ); $ rezultat = mysql_query ($ upit) ili umrijeti ( "Pogreška 234234");
$ nrows = mysql_num_rows ($ rezultat);
1){ if ($ nrows == 1) (
$ upit = "UPDATE emailConfirmationTable SET is_confirmed ='1 'gdje con_code =' $ confirmCode '";
( "Config Error 222231231233 " ); $ rezultat = mysql_query ($ upit) ili umrijeti ( "Config 222231231233 Greška");
if ($ rezultat)
); echo ( "EMAIL POTVRĐUJE!");
)
drugi
); echo ( "Nije moguće potvrditi email");
)
?>
Vrlo je važno zapamtiti da biste provjerili valjanost informacija koje korisnik unosi u bilo kojem obliku. Nisam uključiti funkciju za provjeru ispravnosti e-mail adrese gore, ali dobro mjesto za početak je Kalifornija Henderson's e-mail validacija funkcija pronaći ovdje.
Ako želite vidjeti ovu skriptu u akciju, možete to učiniti ovdje.