Tako vam je potrebna potvrda o korisnikovom e-mail adresu? Nema problema. Ima mnogo razloga da zahtijeva potvrdu e-pošte, i PHP ga čini jednostavnim.
E-mail potvrde može se dovršiti je ove korake:
- Traži od korisnika za sve što informacije koje trebate od njih (uključujući i njihove e-mail adresu)
- Ulazni tih podataka u bazi podataka
- Slanje e-mail korisniku sa posebnom potvrdom ključa
- "Otključaj" podatke u bazi podataka nakon potvrde ključ je ušao.
Kako to učiniti:
<? Php
/ / Prvo, dozvoljava 'spojiti na bazu podataka
Korisničko_ime $ = "dbUserName";
$ Host = "dbHost";
$ My_password = "dbPassword";
$ Db_name = "dbname";
/ / Spajanje na server i odabir baze podataka.
, "$user_name" , "$my_password" ) or die ( "cannot connect to server" ); mysql_connect ("$ host", "$ korisničko_ime", "$ my_password") or die ("ne mogu spojiti na poslužitelj");
) or die ( "cannot select DB" ); mysql_select_db ("$ db_name") or die ("ne mogu odabrati DB");
/ / Sljedeću liniju u osnovi pita da li korisnik potreba to imati oblik prikazan. Pročitajte dolje malo, ako želite vidjeti gdje se varijable dolazi iz
(@ $_GET [ 'first' ] == "no" ) " ! (@ $_GET [ 'confirm' ] == "yes" ){ if (! (@ $ _GET ['prvi'] == "ne") & &! (@ $ _GET ['potvrdu'] == "da") (
/ / Budući da je ovo prvi strani zaslona i nema potvrde kod je uključen bismo trebali prikazati obrazac za korisnika za ispunjavanje
/ / Ovaj obrazac traje samo jedan argument (korisnik 'elektronička pošta adresa).
?>
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>
</ Form>
<? Php
)
/ / Ako je obrazac ispunjen, potrebno je generirati potvrde kod, umetnuti potvrdni kod i e-pošte korisnika u bazu podataka, i poslati e-mail adresu e-pošte.
[ 'first' ] == "no" ){ //if the form has been filled out… elseif (@ $ _GET ['prvi'] == "ne") (/ / ako je obrazac je popunjen ...
/ / Is_valid_email_address nije valjana php funkciju. Umetnite svoju e-mail adresu provjeru funkcije ovdje ...
is_valid_email_address( $_POST [ 'email' ])) if (! is_valid_email_address ($ _POST ['email']))
); echo ("Žao nam je! e-mail adresu koju ste unijeli nije valjana.");
/ / Ako se pojavi valjana adresa e-pošte i sigurno ...
else (
]); $ Email = ($ _POST ['email']);
/ / Generirajte kôd za potvrdu ovdje. To je način na koji sam se odlučio za to učiniti, ali postoji bezbroj načina na koje će raditi.
( rand ())); $ = Md5 CONFIRMATION_CODE (uniqid (Rand ()));
/ / Sve je više-manje u redu za ulazak u bazu podataka, a zatim poslati e-mail korisniku
$ Query = "INSERT INTO emailConfirmationTable (user_email, con_code) VALUES ('$ email', '$ CONFIRMATION_CODE')";
("Config Error 2223 "); $ Rezultat = mysql_query ($ upit) or die ("Greąka u konfiguraciji 2223");
/ / Pošalji e-mail
$ To = $ e-mail;
$ Subject = "Vaša shortlikeafox primjer potvrde"; / / Od
$ Header = "From: shortlikeafox <info@shortlikeafox.com>";
/ / Poruka
$ Poruka = "Vaša Comfirmation link! \ R \ n";
$ Poruka .= "Kliknite na ovaj link da biste aktivirali svoj korisnički račun \ r \ n";
$ Poruka .= "Ova veza s isteći kada god se osjećam kao što su čišćenje iz nepotvrđenih e-mail (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, $ message, $ header);
); echo ("Vaš e-poštu potvrde je poslan!");
)
)
/ / Ako korisnik postaviti ovu skriptu iz veze u njegov e-mail, potvrdite ....
[ 'confirm' ] == "yes" ){ elseif (@ $ _GET ['potvrdu'] == "da") (
/ / Provjerite confirmCode relativno sigurno korištenje
[ 'confirmCode' ]); $ ConfirmCode = mysql_real_escape_string (@ $ _GET ['confirmCode']);
$ Query = "SELECT * FROM WHERE emailConfirmationTable con_code = '$ confirmCode' I is_confirmed = '0 '";
( "Error 234234" ); $ Rezultat = mysql_query ($ upit) or die ("Greąka 234234");
$ Nrows = mysql_num_rows ($ rezultat);
1){ if ($ nrows == 1) (
$ Query = "UPDATE SET emailConfirmationTable is_confirmed = '1 ', gdje con_code =' $ confirmCode '";
( "Config Error 222231231233 " ); $ Rezultat = mysql_query ($ upit) or die ("Greąka u konfiguraciji 222231231233");
if ($ rezultat)
); echo ("POTVRDI EMAIL!");
)
drugo
); echo ("Ne mogu potvrditi Email");
)
?>
Vrlo je važno zapamtiti da se potvrdi informacije koje korisnik unosi u bilo kojem obliku. JA nije 'uključiti funkciju za provjeru valjanosti adresa e-pošte gore, ali dobro mjesto za početak je Cal Henderson e-mail validation funkcija naći ovdje.
Ako želite vidjeti ovu skriptu u akciji, možete to učiniti ovdje.