Trimiterea formularului trimis date către php. Crearea formularelor HTML. II. Introducerea datelor printr-o buclă
Pentru a organiza transferul de date către server folosind un formular, va trebui să implementați un formular HTML în care vizitatorii site-ului să introducă informațiile și codul PHP, al căror scop este să primească și să proceseze datele primite pe server.
Formular HTML pentru trimiterea datelor
Formularul de pe pagină este format din etichete
, în interiorul cărora sunt plasate etichete pentru câmpuri pentru introducerea informațiilor de text, etichete pentru componente speciale (de exemplu, o casetă combinată), etichete pentru un câmp de selecție și încărcare de fișiere.* Pentru HTML5, este de asemenea posibil să plasați etichete de câmp de formular nu în etichetele de formular, ci oriunde pe pagină. Mai mult, pentru fiecare astfel de câmp, trebuie să specificați atributul „formular” pentru a determina cu ce formă de trimitere ar trebui să interacționeze.
Deci, cel mai simplu formular de trimitere poate conține următorul cod:
Elementele de formă și parametrii acestora:
action = "myform.php"- atributul „acțiune” definește ce fișier php va procesa datele trimise. În acest exemplu, datele vor fi trimise către fișierul „myform.php” situat în același director cu pagina cu formularul. Dacă acest atribut nu este specificat în mod explicit, datele formularului vor fi trimise la adresa paginii formularului în sine.
method = "postare"- parametrul metodei definește metoda de transmitere a datelor POST sau GET. Mai multe detalii despre acest lucru în articolul „Diferențele dintre metodele POST și GET”. Dacă nu specificați în mod explicit atributul, metoda GET va fi utilizată în mod implicit.
Text "Înțelesul A:"și „Valoarea B:” adăugat doar în scopul proiectării și clarității formularului pentru utilizator. Nu este necesar să adăugați acest lucru pentru transferul de date, dar pentru ca utilizatorul să înțeleagă ce să introducă, merită specificat.
Etichete: sunt folosite pentru a forma diferite controale de formă.
type = "text"- atributul „tip” definește tipul câmpului. În funcție de tipul specificat, atât aspectul elementului, cât și scopul său se schimbă. Valoarea atributului „text” indică faptul că browserul va reda elementul ca un câmp de text cu o singură linie în care utilizatorul poate introduce șirul.
nume = "date1"- atributul „nume”, indică numele sau, mai degrabă, indexul datelor din matricea primită de server. Acesta este un parametru obligatoriu prin care valoarea trecută poate fi apoi accesată în handlerul PHP. Numele poate fi ales în mod arbitrar, cu toate acestea, este mai convenabil atunci când această valoare are o semnificație ușor de înțeles.
type = "trimiteți"- etichetă cu această valoare a parametrului „tip” va fi afișat pe pagină ca buton. De fapt, puteți face fără un buton pe un formular. Dacă, de exemplu, formularul are câmpuri de text, atunci trimiterea se poate face prin simpla apăsare pe tasta „Enter”. Dar prezența butonului face ca formularul să fie mai ușor de înțeles.
value = "(! LANG: Trimite" !}- în acest caz (pentru tip = "trimiteți") definește doar legenda de pe buton. Pentru type = "text", de exemplu, acesta va fi textul care va fi afișat în câmpul de text.
Ca rezultat, pe pagină, acest cod va arăta cam așa:
Făcând clic pe buton, datele vor fi trimise la pagina specificată, iar dacă există și funcționează corect, datele vor fi procesate.
Procesarea datelor trimise în formular HTML în PHP
Datele trimise în acest mod sunt plasate în matricele superglobale $ _POST, $ _GET și $ _REQUEST. $ _POST sau $ _GET vor conține date în funcție de metoda utilizată pentru a trimite. $ _REQUEST conține datele trimise prin oricare dintre metodele specificate.
$ _POST, $ _GET și $ _REQUEST sunt tablouri asociative ale căror câmpuri de index se potrivesc cu atributele „nume” ale etichetelor ... În consecință, pentru a lucra cu date în fișierul myform.php, puteți atribui variabilelor valorile elementelor unei astfel de matrice specificând numele câmpului ca index:
// pentru metoda GET
$ a = $ _GET [ „date1”];
$ b = $ _GET [ „date2”];
// pentru metoda POST
$ a = $ _POST [ „date1”];
$ b = $ _POST [ „date2”];
// pentru orice metodă
$ a = $ _REQUEST [ „date1”];
$ b = $ _REQUEST [ „date2”];
Verificarea completării câmpurilor formularului
Uneori, atunci când primiți date, trebuie să verificați dacă utilizatorul a trimis un formular gol. Puteți utiliza funcția goală pentru aceasta.
if (gol ($ _REQUEST ["data1"]))) (
ecou „Câmpul nu este completat”;
} altceva (
ecou „Câmpul a fost completat”;
$ a = $ _REQUEST [ „date1”];
}
De obicei, această soluție este suficientă. Dacă trebuie să introduceți text, va fi clar dacă este introdus sau nu. Cu toate acestea, dacă utilizatorul introduce în mod deliberat zero pentru calcule, atunci funcția goală va arăta că nu există nicio valoare. Prin urmare, este mai bine să utilizați funcția isset pentru astfel de situații. Se va verifica în mod explicit dacă valoarea este dată sau nu.
if (isset ($ _REQUEST ["data1"]))) (
ecou „Câmpul a fost completat”;
$ a = $ _REQUEST [ „date1”];
} altceva (
ecou „Câmpul nu este completat”;
}
sau cum să trimiteți un mesaj de e-mail folosind un formular HTML
Ai propriul tău site web și vrei să primești scrisori sau mesaje de la utilizatori, întrebări, sfaturi sau doar urări prin e-mail, atunci această lecție este pentru tine!
Cum să trimiteți un mesaj prin e-mail
Avem nevoie de următoarele fișiere:
- form.html - o pagină cu un formular.
- form_processing.php - fișier script, procesarea formularului HTML.
Luați în considerare codul form.html:
|