Un formular de feedback este un atribut obligatoriu al oricărui site creat pentru rezolvarea oricăror probleme grave. Una dintre cele mai simple modalități de a organiza un e-mail de la un vizitator al site-ului către proprietarul său este de a utiliza comanda PHP mail. Mai jos este o instrucțiune pas cu pas despre cum să faceți acest lucru.
Este necesar
Cunoașterea de bază a limbajelor PHP și HTML
Instrucțiuni
Pasul 1
Pasul 1: creați un nou document php.
În orice editor de text (de exemplu, în Notepad standard) creați un document nou. Introduceți imediat în acesta cadrul codului html al paginii, pe care îl veți suplimenta în timpul creării mecanismului de trimitere a mesajelor de e-mail:
Trimiterea unui mesaj de e-mail
Pasul 2
Pasul 2: adăugați un formular html în documentul dvs.
Acum trebuie să adăugați între etichetele html și instrucțiunile pentru ca browserul să afișeze un formular pentru ca vizitatorul să introducă date și să le trimită la server. În primul rând, eticheta de deschidere a formularului:
Atributul metodei specifică modul în care browserul trebuie să trimită informații către server.
Aici trebuie să introduceți o instrucțiune în php - acesta va afișa un mesaj pentru vizitator după ce acesta trimite datele către server și acestea sunt procesate de script:
Următoarea linie va forma un câmp în care vizitatorul trebuie să-și introducă numele:
Numele dumneavoastră:
Aici atributul type specifică tipul acestui element de formular - o simplă casetă de text. Iar atributul name este numele variabilei în care datele introduse în acest câmp vor fi transmise serverului - nume. Etichetă
- „o întoarcere cu trăsura”.
Apoi, trebuie să oferiți vizitatorului posibilitatea de a specifica adresa sa de e-mail pentru a-l contacta:
E-mail:
Totul aici este similar cu linia anterioară. Numele variabilei în care adresa de e-mail a vizitatorului va fi trimis la server este e-mail.
Acum trebuie să adăugăm un câmp de text cu mai multe pagini (etichetă textarea) pentru a introduce textul mesajului:
Mesaj:
Atributele rânduri și cols specifică dimensiunea acestui câmp - rândurile specifică numărul de rânduri, iar cols specifică numărul de caractere din fiecare rând. Textul introdus va fi trimis într-o variabilă numită mess.
După toate câmpurile, adăugați un buton pentru a trimite un mesaj:
Atributul de valoare al acestei etichete conține textul etichetei de pe buton („Trimiteți”).
Pentru ca scriptul php să funcționeze, va fi necesară încă o variabilă, care trebuie trimisă împreună cu datele din formular. Plasați-l într-un element de formă ascuns vizitatorului:
Numele acestei variabile este „act”, iar valoarea transmisă este „send”.
Singurul lucru care rămâne de făcut este să adăugați eticheta de formular de închidere:
Pasul 3
Pasul 3: adăugați cod php pentru a procesa datele din formular.
Prin apăsarea butonului etichetat „Trimite”, vizitatorul va trimite informațiile introduse de acesta. Deoarece nu există un atribut de acțiune în eticheta formularului, care trebuie să indice adresa de internet a scriptului pentru a trimite datele, acestea vor fi trimise la adresa aceleiași pagini. Prin urmare, trebuie să adăugați instrucțiuni php la codul html al acestei pagini pentru a primi, valida și trimite date din formular la adresa dvs. de e-mail.
Ar trebui să înceapă cu eticheta php de deschidere:
<? php
Pe rândul următor, specificați o variabilă care va conține mesajul pentru vizitator. În timp ce este gol:
$ msg = ;
Acum, scriptul ar trebui să verifice dacă datele au fost trimise din formular. Serverul, primind date trimise prin metoda POST, le pune într-o matrice superglobală numită $ _POST. Deci, scriptul trebuie să verifice dacă există informații din formularul din această matrice. Este posibil ca vizitatorul să nu fi completat niciunul dintre câmpuri, dar variabila ascunsă trebuie să fie în continuare prezentă - îi vom verifica prezența:
if ($ _ POST ['act'] == "trimite") {
Dacă există o astfel de variabilă, atunci următorul bloc de instrucțiuni de script va fi executat. Pentru comoditate, la începutul acestui bloc, plasați variabile pe care le puteți modifica ulterior:
$ email_length = 500;
Acesta este numărul maxim de caractere permis în mesajul unui vizitator.
$ email_html = fals;
Dacă utilizatorul introduce etichete html în mesaj, acestea vor fi tăiate de script. Dacă ar trebui lăsate, înlocuiți valoarea falsă a acestei variabile cu adevărat.
$ email_recepient = "[email protected]";
Aceasta este adresa dvs. de e-mail la care scriptul ar trebui să trimită mesaje de la vizitatori.
$ email_subject = "Mesaj de la un vizitator al site-ului";
Variabila conține textul care va fi indicat în subiectul e-mailului trimis.
$ 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,})) $ / ";
Această variabilă nu trebuie modificată - conține modelul de expresie regulată folosit de script pentru a valida formatul adresei de e-mail introduse de vizitator în câmpul de e-mail. Următoarea linie va conține această verificare:
if ((! $ _ POST ['email']) || (! preg_match ($ email_regex, $ _POST ['email']))) $ msg. = "A fost specificată o adresă de e-mail nevalidă.";
Dacă vizitatorul a indicat în mod clar adresa greșită pentru a-l contacta, scriptul va afișa un mesaj despre aceasta. Toate aceste mesaje sunt rezumate în variabila $ msg până la sfârșitul scriptului.
Acum verificăm prezența textului mesajului în sine:
if (! $ _ POST ['mess']) $ msg. = "Fără text mesaj";
Dacă vizitatorul a lăsat câmpul de text gol, atunci va fi adăugat un mesaj despre aceasta la variabila $ msg.
Dacă în variabila $ email_html ați specificat eliminarea etichetelor html din textul mesajului, atunci scriptul va face acest lucru în următoarele două rânduri:
$ userMess = $ _POST ['mess'];
if (! $ email_html) $ userMess = strip_tags ($ userMess);
Și la sfârșitul tuturor verificărilor - verificarea lungimii mesajului:
if (strlen ($ userMess)> $ email_length) $ msg. = "Textul mesajului este mai lung decât lungimea permisă ($ caractere email_length).
n ;
Dacă cel puțin una dintre verificări a eșuat, variabila $ msg nu mai este goală. Apoi, trebuie să completați toate mesajele de eroare înregistrate în acesta - adăugați textul „Eroare” și setați nuanța de roșu:
if ($ msg) $ msg = "Eroare: $ msg";
Și dacă verificările sunt trecute, pregătiți datele pentru trimiterea la adresa dvs.:
altceva {
$ userMess = "Nume:". $ _ POST ['nume']."
n ---
n ". $ userMess."
n
n ---
n ;
$ headers = "Content-Type: text / html; charset = windows-1251 / n";
$ headers. = "De la: / nX-Mailer: siteMailer";
Următoarea linie pornește serverul dvs. de e-mail și trimite mesajul pregătit:
mail ($ email_recepient, $ email_subject, $ userMess, $ headers);
Acum rămâne să compuneți un mesaj pentru vizitator că mesajul său a fost trimis:
$ msg = Mesajul dvs. a fost trimis. Vă mulțumim!
n ;
}
}
?>
Pasul 4
Pasul 4: găzduiește pagina pe server.
Salvați pagina php creată cu numele și extensia php de care aveți nevoie și încărcați-o pe server pe site-ul dvs.
Desigur, aceasta este o pagină „goală”, trebuie să o proiectați în același mod ca și restul paginilor de pe site-ul dvs. Sau luați elementele acestei pagini și adăugați-le la o pagină existentă pe site.