Joten sinun täytyy vahvistaa käyttäjän sähköpostiosoitteen? Ei se mitään. On olemassa paljon syitä vaatia sähköpostitse vahvistuksen, ja PHP on helppo.
Sähköposti vahvistus voidaan suorittaa on nämä vaiheet:
- Kysy käyttäjän kaikki tiedot mitä tarvitset heiltä (myös sähköpostiosoitteen)
- Input nämä tiedot tietokantaan
- Lähetä käyttäjän sähköpostin erityinen vahvistus avain
- "Avaa" tiedot tietokantaan, kun vahvistus avain on syötetty.
Miten se:
<? Php
/ / First, let's yhteyden tietokantaan
$ Käyttäjätunnus = "dbUserName";
$ Host = "dbHost";
$ My_password = "dbPassword";
$ Db_name = "dbname";
/ / Yhdistä palvelimeen ja valitse tietokanta.
, "$user_name" , "$my_password" ) or die ( "cannot connect to server" ); mysql_connect ("$ host", "$ käyttäjätunnus", "$ my_password") tai die ("ei saa yhteyttä palvelimeen");
) or die ( "cannot select DB" ); mysql_select_db ("$ db_name") tai die ("ei voi valita DB");
/ / Seuraava rivi periaatteessa pyytää, jos käyttäjä tarvitsee lomakkeen näkyviin. Lue alas vähän, jos haluat nähdä missä muuttujat ovat peräisin
(@ $_GET [ 'first' ] == "no" ) " ! (@ $_GET [ 'confirm' ] == "yes" ){ if (! (@ $ _GET ['ensimmäinen'] == "ei") & &! (@ $ _GET ['vahvistaa'] == "kyllä") (
/ / Koska tämä on sivun ensimmäinen näyttö ja vahvistusta koodi on sisällytetty meidän pitäisi näyttää lomake käyttäjä voi täyttää
/ / Tämä lomake yksikin argumentti (käyttäjän sähköpostiosoite).
?>
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" /> Sähköposti: <input name= "email" type= "text" id= "email" size= "30" />
</ Td>
</ P>
<tr>
<td align="center">
name= "Submit" value= "Submit" /> <input type= "submit" name= "Submit" value= "Submit" />
</ Td>
</ P>
</ Table>
</ Form>
<? Php
)
/ / Jos lomake on täytetty, meidän on luoda vahvistus koodi, aseta vahvistus koodi ja käyttäjän sähköposteja, tietokantaan ja lähettää sähköpostia sähköpostiosoitteeseen.
[ 'first' ] == "no" ){ //if the form has been filled out… elseif (@ $ _GET ['ensimmäinen'] == "ei") (/ / jos lomake on täytetty ...
/ / Is_valid_email_address ei ole kelvollinen php function. Lisää oma sähköpostiosoite tarkkailun toimi täällä ...
is_valid_email_address( $_POST [ 'email' ])) if (! is_valid_email_address ($ _POST ['email']))
); echo ("Sorry! sähköpostiosoite ei kelpaa.");
/ / Jos sähköpostiosoite näkyy voimassa ja turvallinen ...
else (
]); $ Email = ($ _POST ['email']);
/ / Luo vahvistus koodi täällä. Tämä on tapa päätän tehdä sen, mutta on olemassa lukemattomia tapoja, joilla toimii.
( rand ())); $ CONFIRMATION_CODE = md5 (uniqid (rand ()));
/ / Kaikki on enemmän tai vähemmän OK tehdä tietokantaan ja lähettää sähköpostia käyttäjälle
$ Query = "INSERT INTO emailConfirmationTable (USER_EMAIL, con_code) VALUES ('$ email", "$ CONFIRMATION_CODE')";
("Config Error 2223 "); $ Tulos = mysql_query ($ query) tai die ("Config Error 2223");
/ / Lähetä sähköpostia
$ To = $ email;
$ Subject = "Sinun shortlikeafox esimerkki vahvistus", / / From
$ Header = "alkaen: shortlikeafox <info@shortlikeafox.com>";
/ / Viestisi
$ Viesti = "Sinun Comfirmation linkki! \ R \ n";
$ Viesti .= "Napsauta tätä linkkiä aktivoidaksesi tilisi \ r \ n";
$ Viesti .= "Tämä yhteys päättyy aina tunnen itseni puhdistaminen vahvistamaton sähköposteja (joka viikko tai niin) \ r \ n";
$ Viesti .= "http://www.shortlikeafox.com/simple-email-confirmation-example/index.php?confirm=yes&confirmCode = $ CONFIRMATION_CODE \ r \ n";
$ Lähetetytviestit = mail ($ on $ aihe, $ viesti, $ otsikko);
); echo ("varausvahvistuksessasi on lähetetty!");
)
)
/ / Jos käyttäjä löytyi tämä skripti linkkiä hänen sähköpostiosoitteensa, hyväksy se ....
[ 'confirm' ] == "yes" ){ elseif (@ $ _GET ['vahvistaa'] == "kyllä") (
/ / Tee confirmCode suhteellisen turvallinen käyttää
[ 'confirmCode' ]); $ ConfirmCode = mysql_real_escape_string (@ $ _GET ['confirmCode']);
$ Query = "SELECT * FROM emailConfirmationTable WHERE con_code = '$ confirmCode" JA is_confirmed = "0" ";
( "Error 234234" ); $ Tulos = mysql_query ($ query) tai die ("Virhe 234234");
$ NRows = mysql_num_rows ($ tulos);
1){ if ($ nRows == 1) (
$ Query = "UPDATE emailConfirmationTable SET is_confirmed = '1 'WHERE con_code =' $ confirmCode '";
( "Config Error 222231231233 " ); $ Tulos = mysql_query ($ query) tai die ("Config Virhe 222231231233");
if ($ tulos)
); echo ("EMAIL VAHVISTETTU!");
)
muu
); echo ("ei voitu vahvistaa Sähköposti");
)
?>
On erittäin tärkeää muistaa vahvistaa tieto siitä, että käyttäjä lisätään missä tahansa muodossa. En kuulu toiminnon sähköpostiosoite validointi edellä, mutta hyvä paikka aloittaa on Cal Hendersonin sähköposti validointi toiminto löytyy täältä.
Jos haluat nähdä tämän komentosarjan toiminnassa, voit tehdä sen täältä.