Formularz opinii jest obowiązkowym atrybutem każdej witryny stworzonej w celu rozwiązania poważnych problemów. Jednym z najprostszych sposobów na zorganizowanie wiadomości e-mail od odwiedzającego witrynę do jej właściciela jest użycie polecenia PHP mail. Poniżej znajduje się instrukcja krok po kroku, jak to zrobić.
Czy to jest to konieczne
Podstawowa znajomość języków PHP i HTML
Instrukcje
Krok 1
Krok 1: utwórz nowy dokument php.
W dowolnym edytorze tekstu (na przykład w standardowym Notatniku) utwórz nowy dokument. Natychmiast wpisz w nim ramkę kodu html strony, którą uzupełnisz podczas tworzenia mechanizmu do wysyłania wiadomości e-mail:
Wysyłanie wiadomości e-mail
Krok 2
Krok 2: dodaj formularz html do swojego dokumentu.
Teraz musisz dodać między tagami html i instrukcje dla przeglądarki, aby wyświetlić formularz, w którym odwiedzający wprowadzi dane i wyśle je na serwer. Najpierw tag otwierający formularz:
Atrybut method określa, w jaki sposób przeglądarka powinna wysyłać informacje do serwera.
Tutaj należy wstawić instrukcję w php - wyświetli komunikat dla gościa po wysłaniu danych na serwer i ich przetworzeniu przez skrypt:
Kolejna linia utworzy pole, w którym odwiedzający musi wpisać swoje imię:
Twoje imię:
Tutaj atrybut type określa typ tego elementu formularza - proste pole tekstowe. A atrybut name to nazwa zmiennej, w której wpisana w tym polu zostanie przesłana do serwera - nazwa. Etykietka
- "zwrot karetki".
Następnie musisz dać odwiedzającemu możliwość podania swojego adresu e-mail, aby się z nim skontaktować:
E-mail:
Wszystko tutaj jest podobne do poprzedniej linii. Nazwa zmiennej, w której adres e-mail odwiedzającego zostanie wysłany na serwer, to e-mail.
Teraz musimy dodać wielostronicowe pole tekstowe (znacznik textarea), aby wprowadzić tekst wiadomości:
Wiadomość:
Atrybuty rows i cols określają rozmiar tego pola - rows określa liczbę wierszy, a cols liczbę znaków w każdym wierszu. Wprowadzony tekst zostanie przesłany w zmiennej o nazwie mess.
Po wszystkich polach dodaj przycisk, aby wysłać wiadomość:
Atrybut value tego tagu zawiera tekst etykiety na przycisku („Prześlij”).
Do działania skryptu php potrzebna będzie jeszcze jedna zmienna, którą należy przesłać wraz z danymi z formularza. Umieść go w elemencie formularza ukrytym przed odwiedzającym:
Nazwa tej zmiennej to „act”, a przekazana wartość to „send”.
Pozostało tylko dodać zamykający tag formularza:
Krok 3
Krok 3: dodaj kod php do przetwarzania danych z formularza.
Naciskając przycisk oznaczony „Wyślij”, odwiedzający wyśle wprowadzone przez siebie informacje. Ponieważ w tagu formularza nie ma atrybutu action, który musi wskazywać adres internetowy skryptu do wysłania danych, zostaną one wysłane na adres tej samej strony. Dlatego musisz dodać instrukcje php do kodu html tej strony, aby otrzymywać, sprawdzać i wysyłać dane z formularza na swój adres e-mail.
Powinny zaczynać się od otwierającego tagu php:
<?
W następnym wierszu określ zmienną, która będzie zawierać wiadomość dla odwiedzającego. Pusty:
$ msg = ;
Teraz skrypt powinien sprawdzić, czy dane zostały wysłane z formularza. Serwer, odbierając dane przesłane metodą POST, umieszcza je w superglobalnej tablicy o nazwie $_POST. Skrypt musi więc sprawdzić, czy w tej tablicy są jakieś informacje z formularza. Gość mógł nie wypełnić żadnego z pól, ale ukryta zmienna musi być nadal obecna - sprawdzimy jej obecność:
if ($ _ POST ['działać'] == "wyślij") {
Jeżeli istnieje taka zmienna, to zostanie wykonany kolejny blok instrukcji skryptu. Dla wygody na początku tego bloku umieść zmienne, które możesz później modyfikować:
$ długość_e-maila = 500;
Jest to maksymalna dozwolona liczba znaków w wiadomości odwiedzającego.
$ email_html = fałsz;
Jeśli użytkownik wprowadzi w wiadomości tagi html, zostaną one wycięte przez skrypt. Jeśli należy je pozostawić, zamień wartość false tej zmiennej na true.
$ email_recepient = "[email protected]";
To jest Twój adres e-mail, na który skrypt powinien wysyłać wiadomości od odwiedzających.
$ email_subject = "Wiadomość od odwiedzającego witrynę";
Zmienna zawiera tekst, który zostanie wskazany w temacie wiadomości e-mail wysłanej do Ciebie.
$ 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,})) $ / ";
Zmiennej tej nie należy zmieniać - zawiera ona wzorzec wyrażenia regularnego używany przez skrypt do walidacji formatu adresu e-mail wpisanego przez odwiedzającego w polu e-mail. Następny wiersz będzie zawierał to sprawdzenie:
if ((! $ _ POST ['email']) || (! preg_match ($ email_regex, $ _POST ['email']))) $ msg. = "Podano nieprawidłowy adres e-mail.";
Jeśli odwiedzający wyraźnie wskazał zły adres do kontaktu z nim, skrypt wyświetli komunikat o tym. Wszystkie takie komunikaty są sumowane w zmiennej $ msg do końca skryptu.
Teraz sprawdzam obecność samego tekstu wiadomości:
if (! $ _ POST ['mess']) $ msg. = "Brak tekstu wiadomości";
Jeśli odwiedzający pozostawił pole tekstowe puste, do zmiennej $ msg zostanie dodana informacja o tym.
Jeśli w zmiennej $ email_html określiłeś usunięcie tagów html z tekstu wiadomości, to skrypt zrobi to w następujących dwóch liniach:
$ userMess = $ _POST ['mess'];
if (! $ email_html) $ userMess = strip_tags ($ userMess);
A na koniec wszystkich sprawdzeń – sprawdzenie długości wiadomości:
if (strlen ($userMess)> $email_length) $ msg. = "Tekst wiadomości jest dłuższy niż dozwolona długość ($email_length znaków).
n ;
Jeśli przynajmniej jedno sprawdzenie nie powiodło się, zmienna $ msg nie jest już pusta. Następnie musisz uzupełnić wszystkie zapisane w nim komunikaty o błędach - dodaj tekst „Błąd” i ustaw odcień czerwieni:
if ($ msg) $ msg = "Błąd: $ msg";
A jeśli kontrole przejdą pomyślnie, przygotuj dane do wysłania na swój adres:
jeszcze {
$ userMess = "Nazwa:". $ _ POST ['nazwa']."
n ---
n ". $ userMess."
n
n ---
n ;
$ headers = "Content-Type: text / html; charset = windows-1251 / n";
$ headers = "Od: / nX-Mailer: siteMailer";
Następna linia uruchamia mailer twojego serwera i wysyła przygotowaną wiadomość:
poczta ($ adres_e-mail, $ temat_e-mail, $ userMess, $ nagłówki);
Teraz pozostaje skomponować wiadomość dla gościa, że jego wiadomość została wysłana:
$ msg = Twoja wiadomość została wysłana. Dziękuję!
n ;
}
}
?>
Krok 4
Krok 4: hostuj stronę na serwerze.
Zapisz utworzoną stronę php z nazwą i rozszerzeniem php, której potrzebujesz i prześlij ją na serwer do swojej witryny.
Oczywiście jest to „naga” strona, musisz ją zaprojektować w taki sam sposób, jak pozostałe strony w Twojej witrynie. Lub weź elementy tej strony i dodaj je do istniejącej strony w witrynie.