Οπότε χρειάζεσαι επιβεβαίωση ενός χρήστη διεύθυνση ηλεκτρονικού ταχυδρομείου; Δεν υπάρχει πρόβλημα. Υπάρχουν πολλοί λόγοι να απαιτηθεί επιβεβαίωση του email, PHP και καθιστά απλό.
Email επιβεβαίωση μπορεί να ολοκληρωθεί είναι τα παρακάτω βήματα:
- Προτροπή του χρήστη για οποιαδήποτε πληροφορία που χρειάζεστε από τους (συμπεριλαμβανομένης της διεύθυνσης ηλεκτρονικού ταχυδρομείου)
- Είσοδος αυτά τα δεδομένα σε μια βάση δεδομένων
- Στείλτε ένα μήνυμα ηλεκτρονικού ταχυδρομείου του χρήστη με ένα ειδικό κλειδί επιβεβαίωσης
- «Ξεκλειδώνουν» τα δεδομένα στη βάση δεδομένων μια φορά το κλειδί επιβεβαίωσης είναι εγγεγραμμένος.
Πώς γίνεται:
<? php
/ / Καταρχήν, ας συνδεθεί με τη βάση δεδομένων
$ όνομα_χρήστη = "dbUserName"?
$ υποδοχής = "dbHost"?
$ my_password = "dbPassword"?
$ db_name = "dbName"?
/ / Connect to Server και η επιλογή της βάσης δεδομένων.
, "$user_name" , "$my_password" ) or die ( "cannot connect to server" ); mysql_connect ( "$ host", "$ όνομα_χρήστη", "$ my_password") ή να πεθάνουν ( "δεν μπορεί να συνδεθεί με server")?
) or die ( "cannot select DB" ); mysql_select_db ( "$ db_name") ή να πεθάνουν ( "δεν μπορούν να την επιλέξουν ΣΠ")?
/ / Η ακόλουθη γραμμή βασικά καλείται εάν ο χρήστης πρέπει να έχει τη μορφή που εμφανίζεται. Διαβάστε ένα μικρό αν θέλετε να δείτε πού προέρχονται από τις μεταβλητές
(@ $_GET [ 'first' ] == "no" ) && ! (@ $_GET [ 'confirm' ] == "yes" ){ if (! (@ $ _GET [ "πρωτιά"] == "δεν") & &! (@ $ _GET [ 'επιβεβαιώνουν'] == "ναι") (
/ / Από αυτή είναι η σελίδα στην πρώτη οθόνη και δεν περιλαμβάνεται κωδικός επιβεβαίωσης θα πρέπει να εμφανίσει το έντυπο για το χρήστη να συμπληρώσετε
/ / Το παρόν έντυπο μόνο ένα επιχείρημα (του χρήστη διεύθυνση ηλεκτρονικού ταχυδρομείου).
;>
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>
</ τραπέζι>
</ form>
<? php
)
/ / εφόσον το έντυπο έχει συμπληρωθεί, πρέπει να δημιουργήσετε έναν κωδικό επιβεβαίωσης, εισάγετε τον κωδικό επιβεβαίωσης και διεύθυνση ηλεκτρονικού ταχυδρομείου του χρήστη σε μια βάση δεδομένων, και αποστολή email στην διεύθυνση ηλεκτρονικού ταχυδρομείου.
[ 'first' ] == "no" ){ //if the form has been filled out… elseif (@ $ _GET [ "πρωτιά"] == "δεν") (/ / εάν το έντυπο έχει συμπληρωθεί ...
/ / is_valid_email_address δεν είναι έγκυρη php λειτουργία. Τοποθετήστε τη δική σας διεύθυνση ηλεκτρονικού ταχυδρομείου καθήκον ελέγχου εδώ ...
is_valid_email_address( $_POST [ 'email' ])) if (! is_valid_email_address ($ _POST [ 'email']))
); echo ( "Συγγνώμη! Η διεύθυνση email που δώσατε δεν είναι έγκυρη.")?
/ / Αν τη διεύθυνση ηλεκτρονικού ταχυδρομείου φαίνεται να ισχύει και ασφαλή ...
αλλιώς (
]); email = $ ($ _POST [ 'email'])?
/ / Δημιουργήστε έναν κωδικό επιβεβαίωσης εδώ. Αυτός είναι ο τρόπος που επιλέγουν να το κάνουν, αλλά υπάρχουν αμέτρητες τρόπους που θα λειτουργήσει.
( rand ())); $ CONFIRMATION_CODE = MD5 (uniqid (RAND ()));
/ / Τα πάντα είναι περισσότερο ή λιγότερο ΟΚ για να εισέλθουν στη βάση δεδομένων και στη συνέχεια να στείλετε ένα e-mail στο χρήστη
$ query = "INSERT INTO emailConfirmationTable (user_email, con_code) VALUES ( '$ email', '$ CONFIRMATION_CODE')"?
("Config Error 2223 "); $ αποτέλεσμα = mysql_query ($ query) ή πεθαίνουν ( "Config Σφάλμα 2223")?
/ / Αποστολή του email
$ = $ email για να?
$ subject = "Ο shortlikeafox παράδειγμα επιβεβαίωσης"? / / Από
$ header = "από: shortlikeafox <info@shortlikeafox.com>"?
/ / Το μήνυμά σας
= $ μήνυμα "Your Comfirmation σύνδεση! \ r \ n"?
$ .= μήνυμα "Κάντε κλικ σε αυτόν το σύνδεσμο για να ενεργοποιήσετε το λογαριασμό σας \ r \ n"?
$ .= μήνυμα "Αυτή η σύνδεση με λήγουν οποτεδήποτε νιώθω άδειασμα του ανεπιβεβαίωτες μηνύματα ηλεκτρονικού ταχυδρομείου (κάθε εβδομάδα περίπου) \ r \ n"?
$ .= μήνυμα "http://www.shortlikeafox.com/simple-email-confirmation-example/index.php?confirm=yes&confirmCode = $ CONFIRMATION_CODE \ r \ n"?
$ απεσταλμέναμηνύματα = mail ($ να, που υπόκεινται $, $ μήνυμα, $ header)?
); echo ( "email επιβεβαίωσης εστάλη!")?
)
)
/ / Αν ο χρήστης βρεθεί αυτό το σενάριο από τη σύνδεση σε e-mail του, το επιβεβαιώσετε ....
[ 'confirm' ] == "yes" ){ elseif (@ $ _GET [ 'επιβεβαιώνουν'] == "ναι") (
/ / Κάντε το confirmCode σχετικά με την ασφαλή χρήση
[ 'confirmCode' ]); $ confirmCode = mysql_real_escape_string (@ $ _GET [ 'confirmCode'])?
$ query = "SELECT * FROM emailConfirmationTable ΟΠΟΥ con_code = '$ confirmCode" ΚΑΙ is_confirmed ='0' "?
( "Error 234234" ); $ αποτέλεσμα = mysql_query ($ query) ή πεθαίνουν ( "Σφάλμα 234234")?
$ nrows = mysql_num_rows ($ αποτέλεσμα)?
1){ εάν ($ nrows == 1) (
$ query = "UPDATE emailConfirmationTable SET is_confirmed ='1 'WHERE con_code =' $ confirmCode '"?
( "Config Error 222231231233 " ); $ αποτέλεσμα = mysql_query ($ query) ή πεθαίνουν ( "Σφάλμα Config 222231231233")?
εάν ($ αποτέλεσμα)
); echo ( "EMAIL επιβεβαιώνεται!")?
)
άλλος
); echo ( "Δεν επιβεβαιώνουν Email")?
)
;>
Είναι πολύ σημαντικό να θυμόμαστε, ώστε να επιβεβαιωθούν οι πληροφορίες ότι ο χρήστης εισάγει σε οποιαδήποτε μορφή. Δεν περιλαμβάνει μια λειτουργία για τη διεύθυνση ηλεκτρονικού ταχυδρομείου επικύρωσης παραπάνω, αλλά μια καλή αρχή είναι Cal Henderson η επικύρωση email λειτουργία που βρέθηκαν εδώ.
Αν θέλετε να δείτε αυτό το σενάριο σε δράση, μπορείτε να το κάνετε εδώ.