Formular de feedback Ajax într-o fereastră modală. Un simplu formular de contact Ajax Procesarea formularului într-o fereastră modală

Bună ziua, dragi cititori! În acest tutorial voi arăta cum putem realiza un formular de abonare prin e-mail HTML5 cu validare prin e-mail folosind JQuery. Vom folosi expresii regulate pentru verificare și vom salva adresa introdusă în baza de date MySql. Astfel, la salvare, se va folosi AJAX (adică vom apela scriptul PHP fără a reîncărca pagina). Rezultatul poate fi vizualizat pe pagina demo și puteți descărca și codul sursă. Să începem!

Markup de bază

Să începem prin a crea un nou fișier index.html. Și vom face o structură simplă a documentului care să adere la HTML5. De asemenea, vom conecta imediat stilurile CSS și biblioteca, vom avea nevoie de ea când verificăm e-mailul introdus:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15





Formular de abonare prin e-mail cu validator jQuery





Acum sunteți gata să creați formularul!

Formular de abonare prin e-mail

Scopul formularului nostru este de a valida adresa de e-mail introdusă de vizitator și de a o salva cumva în lista de abonați. Pentru a face acest lucru, facem un formular obișnuit cu un buton, făcând clic pe care adresa este procesată și salvată în baza de date sau într-un fișier, după cum este convenabil. În această lecție ne vom uita la salvarea datelor într-o bază de date. Acest lucru va fi mai clar, ne vom concentra pe verificarea corectitudinii adresei introduse. Iată cum arată formularul de abonare:

1
2
3
4
5
6
7
8
9



Abonati-va

Să împachetăm formularul într-un bloc div #completeform, astfel încât după salvarea adresei, formularul să poată fi restrâns.

De asemenea, folosim câteva atribute noi în câmpul de intrare. Tipul de câmp este setat la „e-mail”, astfel încât browserele mobile să poată afișa tastatura corespunzătoare. Chrome și unele browsere WebKit vor folosi acest lucru pentru a verifica dacă utilizatorul a introdus o adresă. Atributele de corectare automată și de capitalizare automată sunt concepute special pentru browserele mobile.

Span with id error este inițial ascuns, pentru care proprietatea de afișare este responsabilă cu valoarea none , avem acest lucru scris în fișierul de stil, mai multe despre asta mai târziu. Dar de îndată ce utilizatorul introduce o adresă de e-mail incorectă în interval, este afișat un mesaj de avertizare.

Validator jQuery și cerere AJAX

Să începem cu o simplă funcție de verificare a adresei de e-mail. Folosim un șir de expresii regulate pentru a verifica dacă șirul de text se potrivește cu sintaxa standard de e-mail, apoi returnăm o valoare booleană true, altfel fals.

Să ne uităm la funcția completeInviteForm(). Pentru a preveni ca formularul de introducere a adresei să fie confuz, vom folosi un efect de fadeOut timp de 400 de milisecunde. Și ca apel invers, să apelăm funcția $.ajax(), să o folosim pentru a apela fișierul save.php și a salva adresa introdusă în baza de date. Voi da mai jos codul sursă al fișierului save.php, dar deocamdată să ne uităm la funcția $.ajax().

$.ajax - încarcă o pagină la distanță folosind o solicitare HTTP. Funcției $.ajax() i se transmite un obiect format din perechi cheie/valoare care sunt folosite pentru a inițializa și gestiona cererea. În cazul nostru, vom folosi următoarele obiecte:

  • type:'POST' - selecteaza tipul de solicitare catre fisier, implicit GET, diferenta dintre POST si GET nu este foarte mare, doar ca la o cerere GET datele sunt transmise in antet si cu POST in body a cererii, deci folosind POST puteți transmite o cantitate mai mare de informații;
  • url:’save.php’ — calea către fișierul executabil;
  • data:’email=’+$(“#email”).val() - date care sunt trimise către server. Folosind selectorul CSS #email, accesăm elementul cu id="email" și obținem conținutul atributului value, adică email-ul introdus de utilizator. Și vom atribui acest conținut variabilei email, pe care o vom folosi în fișierul save.php;
  • succes: function())( $(‘#completeform’).before(‘Totul este gata! Ai fost adaugat pe lista de corespondenta. ‘);) - functia de succes este apelata cand cererea ajax este finalizata cu succes. Funcția efectuează următoarele acțiuni. Înainte de #completeform div, inserăm conținut care anunță utilizatorul că e-mailul său a fost adăugat la lista de corespondență.

1
2
3
4
5
6
7
8
9
10
11
12

funcția completeInviteForm() (
setTimeout(funcție () ( $("#completeform") .fadeOut (400 , funcția () (
$.ajax ((
tip: „POST”,
url: „save.php” ,
date: "email=" + $("#email" ) .val () ,
succes: function() (
$("#completeform" ) .before ( "Ați terminat! Ați fost adăugat pe lista de corespondență." ) ; )
} ) ;
} ) ;
} , 1100 ) ;
}

Și folosind metoda setTimeout, ascunderea formularului și executarea cererii ajax are loc asincron cu o întârziere de 1100 milisecunde.

Procesarea formularelor

Pentru a facilita accesarea elementelor paginii, să creăm câteva variabile cu selectoarele #error și #btnwrap.

var erdiv = $("#eroare" );
var btnwrap = $("#btnwrap" );

Folosind gestionarea evenimentelor live, urmărim clicul pe butonul „Abonare” cu id=”sendbtn” . Metoda e.preventDefault(); anulează comportamentul standard al browserului asupra unei acțiuni (făcând clic pe un buton), și anume, anulăm reîmprospătarea paginii și schimbarea URL-ului. Atribuim e-mailul introdus variabilei emailval și putem începe procesarea acestei variabile.

Primul if(!isEmail(emailval)) verifică dacă funcția isEmail a returnat false, asta înseamnă că adresa de e-mail introdusă de utilizator nu se potrivește cu expresia regulată, adică incorectă, vom anunța utilizatorul despre acest lucru în blocul de eroare și afișați un mesaj (Nu ați introdus corect adresa de e-mail).

Acum, al doilea if este executat numai dacă utilizatorul a introdus o adresă de e-mail validă. Apoi putem începe procesul de salvare a adresei.

Pentru a clarifica procesul, introduceți textul corespunzător în blocul de eroare și plasați o imagine GIF în blocul în care se afla butonul „Abonare”. Și numim funcția completeInviteForm(), despre care am discutat mai sus.

1
2
3
4
5
6
7
8
9
10
11
12

dacă (! isEmail(emailval) ) (
erdiv.html ("Ați introdus incorect adresa dvs. de e-mail" ) ;
erdiv.css („afișare”, „bloc”);
}
dacă (esteEmail(e-mailval) ) (
erdiv.css ("culoare" , "#719dc8" );
erdiv.html("se procesează...");
(completeInviteForm(), 900);
}
} ) ;
} ) ;

Bază de date

Deoarece am ales metoda de salvare a adresei introduse în baza de date, voi vorbi pe scurt despre crearea bazei de date și a tabelului în sine, precum și, așa cum am promis, codul fișierului save.php, care funcționează cu baza de date MySql.

Pentru asta vom avea nevoie de un server local, eu folosesc Denwer. Cu siguranță mulți îl folosesc, așa că nu voi intra în detalii. Accesați phpMyAdmin și creați o bază de date de e-mail:

Pentru a salva adresele abonaților, avem nevoie de un tabel cu două câmpuri, să-i numim adresa:

Câmpurile vor fi după cum urmează:

  • id — identificatorul adresei de e-mail (cunoscut și ca cheie primară);
  • adresa — adresa de e-mail în sine.

File save.php

Acum este timpul să vorbim despre ultimul element al abonamentului creat, fișierul save.php. Conține un script PHP pentru salvarea unei adrese de e-mail într-o bază de date.

1
2
3
4
5
6

În primul rând, verificăm dacă variabila e-mail există în matricea globală POST, dacă da, îi atribuim valoarea variabilei locale $email . În continuare, stabilim o conexiune la serverul mysql_connect() user root, fără parolă. Selectăm baza de date de e-mail și executăm o interogare la baza de date, introducem o nouă înregistrare în tabelul de adrese, unde valoarea variabilei $email va fi inserată în câmpurile de adresă. Asta e tot!

Aceasta încheie lecția. Aș dori să vă reamintesc că acest abonament funcționează doar pe server (din moment ce folosim baza de date și ).

M-am dedicat modului în care puteți crea o fereastră pop-up care este afișată pe site o dată și după un anumit interval de timp. Deci, opțional, puteți insera un formular în această fereastră. Poate fi un formular de abonare sau un formular de contact, în general, orice. Este mai bine să afișați formularele Ajax în ferestre pop-up, astfel încât datele să fie trimise fără a reîncărca pagina.

Structura articolului

Dacă faci un site web pe un motor, de exemplu, Joomla sau WordPress, atunci poți, desigur, să folosești diverse soluții gata făcute pentru formulare, inclusiv designeri. Dar ce se întâmplă dacă pur și simplu proiectați în HTML pur și clientul i-ar cere să „reînvie” formularele pentru ca acestea să funcționeze. Aici este util acest formular.

UPD. 08.02.2018
Articolul a fost rescris ținând cont de faptul că formularul a fost postat pe GitHub

Asadar, haideti sa începem. În primul rând, descărcați sursele formularului din depozitul meu GitHub.

Am asamblat acest ansamblu folosind managerul de activități Gulp. Am scris despre cum să lucrez cu el, nu uitați să citiți.

Conectarea formularului la site

Despachetați arhiva cu formularul. Apoi, copiați tot conținutul din folderul dist în folderul formulare (de exemplu, ajax-form) din șablonul site-ului dvs. Apoi, conectăm resurse - stiluri și scripturi. Există două versiuni în folderele css și js - comprimată și obișnuită. Dacă intenționați să faceți modificări codului în viitor, este mai bine să conectați versiuni necomprimate.

Dacă site-ul dvs. are deja activată biblioteca jQuery, nu trebuie să o conectați. Fi atent la .

Inițializarea formularului

Permiteți-mi să notez imediat că validarea câmpului este organizată folosind HTML5.

Formularul este apelat prin metoda .simpleSendForm(), de exemplu:

$("#idForm").simpleSendForm();

În loc de #idForm, specificăm identificatorul formularului. În general, puteți găsi codul de inițializare a formularului în fișierul scripts.js. Codul de apelare al pluginului poate fi decupat de acolo și scris chiar înainte de . Nu uitați de jQuery.(document).ready() .

Formularul poate accepta unele opțiuni.

Opțiuni
  • successTitle (șir) — Titlul mesajului de mulțumire când este trimis formularul. Valoarea implicită este „Vă mulțumim că ne-ați ales!”
  • successText (șir) - Textul de sub titlul mesajului de mulțumire. Valoarea implicită este „Vă vom contacta în curând”.
  • errorTitle (șir) — titlul mesajului de eroare la trimiterea formularului. Valoarea implicită este „Mesajul nu a fost trimis!”.
  • errorSubmit (șir) — textul mesajului de eroare la trimiterea formularului. Valoarea implicită este „Eroare la trimiterea formularului!”.
  • errorNocaptcha (șir) — text de eroare dacă captcha nu a fost completat.
  • errorCaptcha (șir) — text de eroare dacă verificarea a eșuat.
  • mailUrl (șir) — calea către fișierul handler. Valoarea implicită este „../form-submit/submit.php”. Ar trebui să modificați și să specificați calea completă dacă folderul „form-submit” nu se află în rădăcina site-ului.
  • autoClose (boolean) - Închide automat fereastra după trimiterea cu succes a formularelor (pentru formularele într-o fereastră modală). Fereastra formularului se închide, afișând un mesaj de mulțumire după 5 secunde. Acest timp poate fi anulat.
  • autoCloseDelay (număr) - durata (în milisecunde) de afișare a mesajului de mulțumire după care se va închide. Implicit este 5000 (5 secunde).
  • depanare (boolean) - false în mod implicit. Activați depanarea dacă există probleme cu formularul. Vedeți mesajele de eroare în consolă.
  • captcha (boolean) - false în mod implicit. Activați sau dezactivați Recaptcha 2.0.
  • captchaPublicKey (șir) — cheie publică recaptcha.
Formular într-o fereastră modală

Formularul nostru poate fi afișat și într-o fereastră modală. Modalul va fi afișat de bibliotecă.

cod HTML

Cod buton

Solicitați un apel

Cod formular

Inițializați fereastra modală și formularul. Să facem geamul să se închidă automat după 3 secunde. după transmiterea cu succes a formularului. De asemenea, puteți găsi codul de apel Magnific Popup în fișierul scripts.js.

Apelarea unui formular cu o fereastră modală // ======= Init Magnific Popup ======= $(".modal-popup").magnificPopup(( tip: "inline", fixedContentPos: false, fixedBgPos : true , overflowY: "auto", closeBtnInside: true, preloader: false, midClick: true, removalDelay: 300, mainClass: "mfp-top-up" )); // ===== Init modal form ==== $("#idForm").simpleSendForm (( successTitle: "Aplicația dvs. a fost acceptată!", successText: "Angajatul nostru vă va contacta cât mai curând posibil." , autoClose: adevărat, autoCloseDelay: 3000 )); Cum se activează Recaptcha?

Dacă doriți să activați recaptcha într-un formular, atunci trebuie să adăugați un bloc gol cu ​​clasa recaptcha în codul html al formularului în locul în care doriți să îl afișați. Apoi, în codul de apelare a pluginului de formular, trecem opțiunea captcha cu valoarea true și trecem cheia publică recaptcha opțiunii captchaPublicKey. Puteți obține chei publice și private.

// ===== Initează captcha sub forma ==== $("#idForm").simpleSendForm(( successTitle: "Aplicația dvs. a fost acceptată!", successText: "Angajatul nostru vă va contacta cât mai curând posibil ." , autoClose: adevărat, autoCloseDelay: 3000, captcha: adevărat, captchaPublicKey: "6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI" ));

Apoi, deschideți fișierul de gestionare a formularelor submit.php din directorul de trimitere a formularului. Căutăm variabila recaptchaOn (aproximativ a 7-a linie) și o setăm la true . Apoi, căutați variabila $secret (aproximativ linia 89) și schimbați cheia privată cu a dvs.

Practic totul. După aceste manipulări, ar trebui să vedeți un captcha.

Vă rugăm să rețineți că pe site-ul demo captcha funcționează în modul de testare, așa cum sunt indicate cheile de testare de la Google.

Acum să ne uităm în fișierul de gestionare a formularelor (submit.php) și să parcurgem principalele bucăți de cod. Handler-ul funcționează în PHP, așa că, dacă doriți să testați formularul, va trebui să utilizați .

Erori posibile Mesajul din formular nu este trimis, preîncărcarea pur și simplu rulează și gata. Care este problema?

Vedeți dacă calea către fișierul handler este specificată corect în inițializarea formularului:

mailUrl: — calea către fișierul handler

De asemenea, verificați dacă recaptcha este activat corect. Adică, dacă sunt dezactivate, atunci opțiunile recaptcha din codul de inițializare și $recptchaOn din fișierul de gestionare ar trebui să fie setate la false sau adevărat dacă recaptcha este activat.

Google Recaptcha nu se afișează în formular

Verificați dacă valorile recaptcha (apel recaptcha) și $recaptchaOn (fișier de gestionare) au fost transmise - Adevărat. De asemenea, verificați dacă ați specificat corect cheile - publice și private.

Am făcut totul conform instrucțiunilor, dar formularul nu funcționează, unde pot căuta eroarea?

În primul rând, vă sfătuiesc să vă uitați în consola browserului și să verificați dacă există erori. De asemenea, verificați dacă aveți biblioteca jQuery activată. Verificați dacă fișierul scripts.js este inclus corect. Dacă totul este bine, atunci încercați să activați depanarea cu opțiunea debug: true. După pornire, uitați-vă la consolă pentru erori.

Aceasta este forma. Folosește-l pe site-ul tău, sper să-ți fie de folos. Ce să mai zic? Să vorbim acum - în comentarii. Întrebați dacă ceva nu este clar. De asemenea, dacă găsiți o eroare, vă rog să-mi spuneți imediat și o vom corecta...

Asta e tot. Vă mulțumim pentru atenție. Ne vedem în postările următoare!

Salutare tuturor. Am fost bombardați cu întrebări despre cum să implementăm un formular care apare într-o fereastră modală după ce facem clic pe un buton, iar după trimitere, va fi afișat un mesaj despre succes sau eșec.

Cred că există o mulțime de lucruri similare pe Internet, dar din moment ce oamenii întreabă, am decis să o fac. Mai mult, o astfel de funcționalitate trebuie să fie prezentă pe aproape fiecare pagină de destinație pentru a implementa un buton de apel invers. Și, într-adevăr, acum există din ce în ce mai multe rezultate ale testării AB care arată că formularele deschise funcționează mai rău decât cele ascunse într-o fereastră modală și deschise după ce faceți clic pe un buton.

Unii susțin că acest lucru se datorează faptului că oamenii își „dezvoltă imunitatea” încet, iar forma deschisă este o vânzare agresivă. Se presupune că acum este momentul în care utilizatorul, când vede un formular deschis, crede că încearcă să-i „vândă” ceva. Nu sunt în totalitate de acord cu această teorie, dar există un sâmbure de adevăr. Acest lucru poate fi adevărat în anumite tipuri de afaceri. Ei bine, acum să trecem la implementarea formularului.

Notă! Nu voi descrie fiecare acțiune în detaliu, dar vă ofer o versiune gata făcută în codul sursă. Dacă aveți întrebări, scrieți în comentarii. Ne vom da seama :)

Astăzi vom începe nu cu jQuery, ci cu aspectul butonului și al formularului. Vom include toate scripturile la sfârșitul paginii.

Un buton care, atunci când este apăsat, va deschide o fereastră modală:

Trimiteți cererea dvs

Puteți seta orice clasă, dar în href scrie #modal - acesta va fi id-ul containerului cu umbrire și un formular de contact.

Acum voi da codul pentru formular și blocul pe care va fi localizat formularul:

Lăsați datele dvs. de contact și consultantul nostru vă va contacta. Doresc acest formular pentru site-ul meu

După adăugarea stilurilor, arăta astfel:


Pentru a crea o fereastră modală, a fost folosită biblioteca Remodal. Acesta este un set de fișiere css și js, doar pentru a crea ferestre modale animate. Îl puteți descărca din link sau cu editările mele de la sfârșitul articolului.

Adăugăm stiluri între etichetele head:

Și înainte de eticheta body de închidere, adăugați scripturi:

Script.js este un script pentru procesarea formularului. Același Ajax care ne permite să efectuăm întreaga procedură fără a reîncărca pagina:

$(document).ready(function () ( $("form").submit(function () ( // Obțineți ID-ul formularului var formID = $(this).attr("id"); // Adăugați un hash la ID-ul numelui var formNm = $("#" + formID $.ajax(( tip: "POST", url: "mail.php", date: formNm.serialize(), succes: function (data)); // Ieșire textul rezultatului expedierii $(formNm).html(data error: function (jqXHR, text, error) ( // Afișează textul erorii de trimitere $(formNm).html(error); ) ) ); ));

Nu voi furniza codul sursă al css și js din fișierele responsabile pentru fereastra și formularul modal, deoarece acestea sunt destul de mari. Daca da, uita-te la sursa. Dar handlerul PHP este în mare parte standard (dacă pot spune așa):

Vă rugăm să nu uitați să vă schimbați adresele de e-mail cu propriile dvs.

Aceasta este forma ajax pe care o avem. Îmi pare rău că nu am încercat să explic în detaliu cum a fost realizat fiecare element. Am vrut doar să dau un rezultat final, dar nu are rost să descriu toate animațiile și aparițiile. Descărcați sursa și implementați-o pe site-ul dvs. web. Și asta e tot pentru azi. Noroc tuturor!

Băieți, vă îndemn să testați formularul pe un server real sau virtual (hosting). Vă rugăm să vă asigurați că serverul dvs. acceptă PHP, că aveți un plan plătit și nu o perioadă de probă. În caz contrar, în 90% din cazuri formularul nu va funcționa.

Nu vă așteptați la o scrisoare în căsuța dvs. de e-mail dacă tocmai ați deschis fișierul index în browser și ați făcut clic pe butonul „Trimite”. PHP este un limbaj pe partea de server!

Dacă vă este prea lene să vă dați seama și să faceți singur forma, atunci vă recomand să fiți atenți.

Se află versiunea actualizată a articolului

Salutări cititorilor mei, am acumulat experiență și vă voi spune despre principiile de funcționare a formularului de feedback PHP. Vă voi arăta cu exemple clare, astfel încât să înțelegeți cum funcționează totul și cum are loc interacțiunea între formularul de intrare în sine (câmpurile sale de intrare) și fișierul de gestionare scris în PHP. În plus, puteți descărca gratuit sursele împreună cu .

Desigur, va fi grozav dacă aveți măcar puțină înțelegere a HTML/CSS, deoarece... Va trebui să trageți codul pe pagina dvs. prin analogie. Nu vom atinge limbajul PHP, vă voi arăta toate modificările necesare pe care trebuie să le faceți pentru dvs.

UPDATE: Pe baza răspunsurilor cititorilor, mi-am dat seama că am nevoie de ceva mai frumos și mai funcțional, faceți cunoștință cu mine, verificați-l și aruncați o privire. Alege care iti place mai mult)

UPDATE2: Versiunea 3.0 Adaptive Landing + formular ajax cu transmitere de etichete UTM, citiți și vedeți. O să-ti placă

Mi-am adus aminte de mine când am încercat prima dată să creez un formular de feedback în PHP pe cont propriu și, să fiu sincer, a fost laborios, pentru că... Nu am înțeles ce și cum se întâmplă. Răbdare și perseverență, prieteni, și veți reuși.

Formular de feedback PHP - structură

Vom studia analiza formularului de feedback în sine folosind exemplul unei pagini de destinație, apropo, există un articol separat; Puteți vedea cum funcționează în acțiune folosind butoanele de mai jos, atașez sursele acestei pagini de o pagină și fișierul principal de gestionare php (acest fișier va procesa și trimite e-mailul)

După descărcarea surselor și despachetarea arhivei, veți vedea următoarea structură de fișiere:

  • imagine - toate imaginile care sunt folosite pentru pagina de destinație în sine, butoane etc.
  • js - scripturi javascript care oferă, de exemplu, o fereastră pop-up modală pe o pagină și alte efecte vizuale
  • index.html - fișierul index al paginii noastre de o pagină
  • index1.php este un fișier de gestionare în care sunt transferate valorile din formular, apoi se generează o scrisoare din variabilele primite și se trimite la adresa de e-mail specificată. Index1.php va acționa și ca o pagină intermediară de notificare despre trimiterea cu succes a datelor cu redirecționare automată înapoi la index.html (adică pagina noastră de o pagină)

Este important ca găzduirea dvs., unde se află fișierele site-ului, să accepte procesarea PHP, altfel fișierul index1.php nu va fi executat și nu va funcționa. Pentru a clarifica această nuanță, contactați campania în care este înregistrată găzduirea dvs. sau doar testați-o - funcționează, înseamnă că există suport. Dacă nu, atunci activați opțiunea de suport pentru limbajul php

Aruncă o privire la diagrama modului în care toate elementele interacționează (pagină, formular, handler)

Cod sursă pentru apelarea formularului și handler-ului

Să aruncăm o privire la modul în care funcționează unul dintre butoane, care afișează o fereastră pop-up modală care conține un formular de feedback. Acest cod sursă dat este ceva pe care îl puteți introduce în pagină de mai multe ori și de două ori și va trebui să îl personalizați singur pentru a se potrivi designului și nevoilor dvs.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Solicitați un apel înapoi Solicitați un apel înapoi

Solicitați un apel înapoi Solicitați un apel înapoi

Mai jos este codul sursă complet al handler-ului index1.php, pentru a configura trimiterea către căsuța poștală, schimbați „ [email protected]„la dumneavoastră, restul, în principiu, poate fi lăsat neschimbat

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 Veți fi contactat

Veți fi contactat body ( background: #22BFF7 url(img/zakaz.jpg) top -70% center no-repeat; ) setTimeout("location.replace("/index.html")", 3000); /*Schimbați adresa curentă a paginii după 3 secunde (3000 milisecunde)*/

Verificarea funcționalității formularului

Apelați fereastra și introduceți datele pentru o verificare de testare a formularului nostru

Permiteți-mi să vă reamintesc încă o dată că găzduirea dvs. trebuie să suporte procesarea fișierelor PHP, altfel handlerul nostru pur și simplu nu va fi executat și nicio scrisoare nu va fi trimisă la adresa de e-mail specificată. Rezultatul unui formular de feedback completat cu succes


Asta e tot pentru mine, am încercat să transmit în cel mai bun mod posibil sensul și funcționarea scenariului. Dacă aveți întrebări, nu ezitați să mă contactați în comentarii sau pe VK (vezi detaliile de contact). Vă doresc muncă ușoară și productivă.