Výstupný formulár odoslal údaje do php. Tvorba HTML formulárov. II. Zadávanie údajov prostredníctvom slučky
Na zorganizovanie prenosu údajov na server pomocou formulára budete musieť implementovať formulár HTML, do ktorého budú návštevníci stránok zadávať svoje informácie a kód PHP, ktorých účelom je prijímať a spracovávať prijaté údaje na serveri.
HTML formulár na odosielanie údajov
Formulár na stránke tvoria značky
, do ktorého sú umiestnené značky pre polia na zadávanie textových informácií, značky pre špeciálne komponenty (napríklad kombinované pole), značky pre výberové pole a nahrávanie súborov.* V prípade HTML5 je tiež možné umiestniť značky polí formulára nie do značiek formulárov, ale kdekoľvek na stránku. Okrem toho pre každé takéto pole musíte zadať atribút „formulár“, aby ste určili, s ktorou formou odoslania by mal interagovať.
Najjednoduchší formulár na odoslanie môže teda obsahovať nasledujúci kód:
Prvky formulára a ich parametre:
action = "myform.php"- atribút "action" definuje, ktorý php súbor bude spracovávať odoslané údaje. V tomto prípade budú údaje odoslané do súboru "myform.php" umiestneného v rovnakom adresári ako stránka s formulárom. Ak tento atribút nie je výslovne uvedený, údaje formulára budú odoslané na adresu stránky samotného formulára.
metóda = "príspevok"- parameter metódy definuje spôsob prenosu údajov POST alebo GET. Prečítajte si o tom viac v článku „Rozdiely medzi metódami POST a GET“. Ak atribút výslovne neurčíte, predvolene sa použije metóda GET.
Text "Význam A:" a "Hodnota B:" doplnené iba za účelom dizajnu a prehľadnosti formulára pre používateľa. Na prenos údajov to nie je potrebné pridávať, ale aby používateľ pochopil, čo má zadať, stojí za to špecifikovať.
Tagy: sa používajú na vytváranie rôznych ovládacích prvkov formulárov.
typ = "text"- atribút "type" definuje typ poľa. V závislosti od toho, ktorý typ je zadaný, sa vzhľad prvku a jeho účel menia. Hodnota atribútu „text“ naznačuje, že prehliadač vykreslí prvok ako jednoriadkové textové pole, do ktorého môže používateľ zadať svoj reťazec.
name = "data1"- atribút „name“ označuje názov alebo skôr index údajov v poli prijatom serverom. Toto je požadovaný parameter, pomocou ktorého je potom možné získať prístup k odovzdanej hodnote v obslužnom programe php. Názov je možné zvoliť ľubovoľne, je však pohodlnejšie, keď má táto hodnota nejaký zrozumiteľný význam.
typ = "odoslať"- značka s touto hodnotou parametra „typ“ sa na stránke zobrazí ako tlačidlo. V skutočnosti sa môžete obísť bez tlačidla vo formulári. Ak napríklad formulár obsahuje textové polia, odoslanie je možné vykonať jednoduchým stlačením klávesu „Enter“ na klávesnici. Vďaka tlačidlu je však formulár zrozumiteľnejší.
value = "(! LANG: Odoslať" !}- v tomto prípade (pre typ = "odoslať") definuje iba popis na tlačidle. Pre typ = "text" to bude napríklad text, ktorý sa zobrazí v textovom poli.
V dôsledku toho bude tento kód na stránke vyzerať takto:
Kliknutím na tlačidlo sa údaje odošlú na zadanú stránku a ak existujú a fungujú správne, údaje sa spracujú.
Spracovanie údajov odoslaných z formulára HTML v PHP
Takto odoslané údaje sú umiestnené do superglobálnych polí $ _POST, $ _GET a $ _REQUEST. $ _POST alebo $ _GET bude obsahovať údaje v závislosti od toho, ktorá metóda bola použitá na odoslanie. $ _REQUEST obsahuje odoslané údaje ktoroukoľvek zo špecifikovaných metód.
$ _POST, $ _GET a $ _REQUEST sú asociatívne polia, ktorých polia indexu sa zhodujú s atribútmi „name“ značiek ... Preto na prácu s údajmi v súbore myform.php môžete premenným priradiť hodnoty prvkov takéhoto poľa zadaním názvu poľa ako indexu:
// pre metódu GET
$ a = $ _GET [ "data1"];
$ b = $ _GET [ "data2"];
// pre metódu POST
$ a = $ _POST [ "data1"];
$ b = $ _POST [ "data2"];
// pre akúkoľvek metódu
$ a = $ _REQUEST [ "data1"];
$ b = $ _REQUEST [ "data2"];
Kontrola vyplnenia polí formulára
Pri prijímaní údajov je niekedy potrebné skontrolovať, či používateľ odoslal prázdny formulár. Na to môžete použiť funkciu prázdny.
if (prázdny ($ _REQUEST ["data1"])))
ozvena "Pole nie je vyplnené";
} inak (
ozvena "Pole je vyplnené";
$ a = $ _REQUEST [ "data1"];
}
Obvykle je toto riešenie dostačujúce. Ak potrebujete zadať text, bude zrejmé, či je zadaný alebo nie. Ak však užívateľ zámerne zadá pre výpočty nulu, potom prázdna funkcia ukáže, že neexistuje žiadna hodnota. Preto je pre takéto situácie lepšie použiť funkciu isset. Výslovne skontroluje, či je hodnota daná alebo nie.
if (isset ($ _REQUEST ["data1"])))
ozvena "Pole je vyplnené";
$ a = $ _REQUEST [ "data1"];
} inak (
ozvena "Pole nie je vyplnené";
}
alebo ako odoslať e-mailovú správu pomocou formulára HTML
Máte svoju vlastnú webovú stránku a chcete dostávať listy alebo správy od svojich používateľov, otázky, rady alebo priania e-mailom, potom je táto lekcia pre vás!
Ako poslať správu e-mailom
Potrebujeme nasledujúce súbory:
- form.html - stránka s formulárom.
- form_processing.php - súbor skriptu, spracovanie HTML formulára.
Zvážte kód form.html:
|