Μια φόρμα σχολίων είναι ένα υποχρεωτικό χαρακτηριστικό κάθε ιστότοπου που δημιουργήθηκε για την επίλυση τυχόν σοβαρών προβλημάτων. Ένας από τους απλούστερους τρόπους για να οργανώσετε ένα email από έναν επισκέπτη ιστότοπου στον κάτοχό του είναι να χρησιμοποιήσετε την εντολή PHP mail. Ακολουθεί μια αναλυτική οδηγία για το πώς να το κάνετε αυτό.
Είναι απαραίτητο
Βασικές γνώσεις PHP και HTML γλωσσών
Οδηγίες
Βήμα 1
Βήμα 1: Δημιουργήστε ένα νέο έγγραφο php.
Σε οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου (για παράδειγμα, στο τυπικό Σημειωματάριο) δημιουργήστε ένα νέο έγγραφο. Εισαγάγετε αμέσως σε αυτό το πλαίσιο του κώδικα html της σελίδας, τον οποίο θα συμπληρώσετε κατά τη δημιουργία του μηχανισμού αποστολής μηνυμάτων email:
Αποστολή μηνύματος e-mail
Βήμα 2
Βήμα 2: Προσθέστε μια φόρμα html στο έγγραφό σας.
Τώρα πρέπει να προσθέσετε ανάμεσα στις ετικέτες html και τις οδηγίες για το πρόγραμμα περιήγησης για να εμφανιστεί μια φόρμα για τον επισκέπτη να εισάγει δεδομένα και να τα στείλει στον διακομιστή. Αρχικά, η ετικέτα ανοίγματος της φόρμας:
Το χαρακτηριστικό της μεθόδου καθορίζει τον τρόπο με τον οποίο το πρόγραμμα περιήγησης πρέπει να στέλνει πληροφορίες στο διακομιστή.
Εδώ πρέπει να εισαγάγετε μια οδηγία στο php - θα εμφανίσει ένα μήνυμα για τον επισκέπτη μετά την αποστολή των δεδομένων στον διακομιστή και την επεξεργασία τους από το σενάριο:
Η επόμενη γραμμή θα σχηματίσει ένα πεδίο στο οποίο ο επισκέπτης πρέπει να εισάγει το όνομά του:
Το όνομα σου:
Εδώ το χαρακτηριστικό type καθορίζει τον τύπο αυτού του στοιχείου φόρμας - ένα απλό πλαίσιο κειμένου. Και το χαρακτηριστικό name είναι το όνομα της μεταβλητής στην οποία η καταχωρισμένη σε αυτό το πεδίο θα μεταδοθεί στον διακομιστή - όνομα. Ετικέτα
- "επιστροφή μεταφοράς".
Στη συνέχεια, πρέπει να δώσετε στον επισκέπτη την ευκαιρία να καθορίσει τη διεύθυνση ηλεκτρονικού ταχυδρομείου του για να επικοινωνήσει μαζί του:
ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ:
Όλα εδώ είναι παρόμοια με την προηγούμενη γραμμή. Το όνομα της μεταβλητής στην οποία η διεύθυνση email του επισκέπτη θα σταλεί στον διακομιστή είναι email.
Τώρα πρέπει να προσθέσουμε ένα πεδίο κειμένου πολλαπλών σελίδων (ετικέτα textarea) για να εισαγάγουμε το κείμενο του μηνύματος:
Μήνυμα:
Τα χαρακτηριστικά γραμμών και κολώνων καθορίζουν το μέγεθος αυτού του πεδίου - οι γραμμές καθορίζουν τον αριθμό των γραμμών και οι στήλες καθορίζουν τον αριθμό των χαρακτήρων σε κάθε σειρά. Το εισαγόμενο κείμενο θα σταλεί σε μια μεταβλητή με το όνομα mess.
Μετά από όλα τα πεδία, προσθέστε ένα κουμπί για να στείλετε ένα μήνυμα:
Το χαρακτηριστικό value αυτής της ετικέτας περιέχει το κείμενο της ετικέτας στο κουμπί ("Υποβολή").
Για να λειτουργήσει το σενάριο php, θα χρειαστεί μια ακόμη μεταβλητή, η οποία πρέπει να σταλεί μαζί με τα δεδομένα από τη φόρμα. Τοποθετήστε το σε ένα στοιχείο φόρμας κρυμμένο από τον επισκέπτη:
Το όνομα αυτής της μεταβλητής είναι "act" και η τιμή που πέρασε είναι "send".
Το μόνο που μένει να κάνουμε είναι να προσθέσετε την ετικέτα κλεισίματος φόρμας:
Βήμα 3
Βήμα 3: Προσθέστε κώδικα php για την επεξεργασία δεδομένων από τη φόρμα.
Πατώντας το κουμπί με την ένδειξη "Αποστολή", ο επισκέπτης θα στείλει τις πληροφορίες που εισήγαγε. Δεδομένου ότι δεν υπάρχει χαρακτηριστικό ενέργειας στην ετικέτα φόρμας, η οποία πρέπει να υποδεικνύει τη διεύθυνση Διαδικτύου του σεναρίου για την αποστολή των δεδομένων, θα σταλούν στη διεύθυνση της ίδιας σελίδας. Επομένως, πρέπει να προσθέσετε οδηγίες php στον κώδικα html αυτής της σελίδας για να λάβετε, να επικυρώσετε και να στείλετε δεδομένα από τη φόρμα στη διεύθυνση email σας.
Θα πρέπει να ξεκινήσουν με την αρχική ετικέτα php:
<? php
Στην επόμενη γραμμή, καθορίστε μια μεταβλητή που θα περιέχει το μήνυμα για τον επισκέπτη. Ενώ είναι κενό:
$ msg = ;
Τώρα το σενάριο θα πρέπει να ελέγξει εάν τα δεδομένα στάλθηκαν από τη φόρμα. Ο διακομιστής, που λαμβάνει δεδομένα που αποστέλλονται με τη μέθοδο POST, το βάζει σε έναν υπερ-παγκόσμιο πίνακα που ονομάζεται $ _POST. Επομένως, το σενάριο πρέπει να ελέγξει αν υπάρχουν πληροφορίες από τη φόρμα σε αυτόν τον πίνακα. Ο επισκέπτης μπορεί να μην έχει συμπληρώσει κανένα από τα πεδία, αλλά η κρυφή μεταβλητή πρέπει να εξακολουθεί να υπάρχει - θα ελέγξουμε την παρουσία της:
if ($ _ POST ['act'] == "αποστολή") {
Εάν υπάρχει μια τέτοια μεταβλητή, θα εκτελεστεί το επόμενο μπλοκ οδηγιών σεναρίου. Για ευκολία, στην αρχή αυτού του μπλοκ, τοποθετήστε μεταβλητές που μπορείτε να τροποποιήσετε αργότερα:
$ email_length = 500;
Αυτός είναι ο μέγιστος αριθμός χαρακτήρων που επιτρέπονται στο μήνυμα ενός επισκέπτη.
$ email_html = false;
Εάν ο χρήστης εισάγει ετικέτες html στο μήνυμα, θα περικοπεί από το σενάριο. Εάν πρέπει να παραμείνουν, αντικαταστήστε τη λανθασμένη τιμή αυτής της μεταβλητής με true.
$ email_recepient = "[email protected]";
Αυτή είναι η διεύθυνση email σας στην οποία το σενάριο πρέπει να στέλνει μηνύματα από τους επισκέπτες.
$ email_subject = "Μήνυμα από έναν επισκέπτη ιστότοπου";
Η μεταβλητή περιέχει το κείμενο που θα αναφέρεται στη γραμμή θέματος του email που σας έχει σταλεί.
$ email_regex = "/ ^ (([^ () .,;: / s @ "] + (. [^ () .;;: / s @ "] +) *) | (". + ")) @ (([0-9] {1, 3}. [0-9] {1, 3}. [0-9] {1, 3}. [0-9] {1, 3}]) | (([a-zA-Z / -0-9] + \.) + [A-zA-Z] {2,})) $ / ";
Αυτή η μεταβλητή δεν πρέπει να αλλάξει - περιέχει το κανονικό μοτίβο έκφρασης που χρησιμοποιείται από το σενάριο για την επικύρωση της μορφής της διεύθυνσης email που έχει εισαγάγει ο επισκέπτης στο πεδίο email. Η επόμενη γραμμή θα περιέχει αυτόν τον έλεγχο:
if ((! $ _ POST ['email']) || (! preg_match ($ email_regex, $ _POST ['email']))) $ msg. = "Καθορίστηκε μη έγκυρη διεύθυνση email.";
Εάν ο επισκέπτης έχει δηλώσει σαφώς τη λάθος διεύθυνση για να επικοινωνήσει μαζί του, το σενάριο θα εμφανίσει ένα μήνυμα σχετικά με αυτό. Όλα αυτά τα μηνύματα συνοψίζονται στη μεταβλητή $ msg μέχρι το τέλος του σεναρίου.
Τώρα ελέγχοντας την παρουσία του ίδιου του μηνύματος:
if (! $ _ POST ['mess']) $ msg. = "Χωρίς κείμενο μηνύματος";
Εάν ο επισκέπτης άφησε το πεδίο κειμένου κενό, τότε ένα μήνυμα σχετικά με αυτό θα προστεθεί στη μεταβλητή $ msg.
Εάν στη μεταβλητή $ email_html καθορίσατε την κατάργηση των ετικετών html από το κείμενο του μηνύματος, τότε το σενάριο θα το κάνει στις ακόλουθες δύο γραμμές:
$ userMess = $ _POST ['mess'];
εάν (! $ email_html) $ userMess = strip_tags ($ userMess);
Και στο τέλος όλων των ελέγχων - ελέγχοντας τη διάρκεια του μηνύματος:
if (strlen ($ userMess)> $ email_length) $ msg. = "Το κείμενο του μηνύματος είναι μεγαλύτερο από το επιτρεπόμενο μήκος ($ email_length χαρακτήρες).
n ;
Εάν τουλάχιστον ένας από τους ελέγχους έχει αποτύχει, τότε η μεταβλητή $ msg δεν είναι πλέον κενή. Στη συνέχεια, πρέπει να συμπληρώσετε όλα τα μηνύματα σφάλματος που καταγράφονται σε αυτό - προσθέστε το κείμενο "Σφάλμα" και ορίστε τη σκιά του κόκκινου:
if ($ msg) $ msg = "Σφάλμα: $ msg";
Και αν περάσουν οι έλεγχοι, ετοιμάστε τα δεδομένα για αποστολή στη διεύθυνσή σας:
αλλιώς {
$ userMess = "Όνομα:". $ _ POST ['name']."
n ---
n ". $ userMess."
n
n ---
n ;
$ headers = "Content-Type: text / html; charset = windows-1251 / n";
$ headers. = "Από: / nX-Mailer: siteMailer";
Η επόμενη γραμμή ξεκινά το mailer του διακομιστή σας και στέλνει το έτοιμο μήνυμα:
αλληλογραφία ($ email_recepient, $ email_subject, $ userMess, $ headers);
Τώρα απομένει να συνθέσει ένα μήνυμα για τον επισκέπτη ότι το μήνυμά του έχει σταλεί:
$ msg = Το μήνυμά σας έχει σταλεί. Σας ευχαριστούμε!
n ;
}
}
?>
Βήμα 4
Βήμα 4: φιλοξενήστε τη σελίδα στον διακομιστή.
Αποθηκεύστε τη σελίδα php που δημιουργήσατε με το όνομα και την επέκταση php που χρειάζεστε και ανεβάστε την στον διακομιστή στον ιστότοπό σας.
Φυσικά, αυτή είναι μια "γυμνή" σελίδα, πρέπει να την σχεδιάσετε με τον ίδιο τρόπο όπως και οι υπόλοιπες σελίδες στον ιστότοπό σας. Εναλλακτικά, πάρτε τα στοιχεία αυτής της σελίδας και προσθέστε τα σε μια υπάρχουσα σελίδα στον ιστότοπο.