Lihtsaim vorm andmete saatmiseks e-posti teel, kasutades HTML-i ja PHP-d. HTML vormid. Meetodid andmete saatmiseks serverisse vormi abil

/php/php5ru.png HTTP/1.0

: www.php5.ru

See, mida näeksite seda vaadates, vilgub üle ekraani png-fail tekstiredaktoris.

HTML vormid. Meetodid andmete saatmiseks serverisse vormi abil

Iga serveri skriptikeele üks levinumaid rakendusi on töötlemine HTML- vormid. Veebiprogrammeerimine hõlmab enamasti erinevate kasutaja sisendite töötlemist.

RNR hõlbustab brauserist saadud vormide töötlemist ja sõelumist, kuna kõik vajalikud võimalused on keelde sisse ehitatud madalaimal tasemel. Seetõttu ei pea programmeerija isegi protokolli omadustele mõtlema HTTP ja ei tea, kuidas saatmine ja vastuvõtmine toimub

KOOS HTML-vormid, millega olete märgistuskeelt õppides juba kohanud HTML.

Vaatame vormilt sõnumi saatmise näidet meili teel.

Nimekiri e_mail.html. Sõnumi saatmine vormilt e-posti teel

Vormi saatmine e-postiga

Klõpsake nuppu Lähtesta ja täitke tellimus.


Kui töötlete seda HTML-koodi brauseriga, kuvatakse veebileht, mida näete monitori ekraanil:

Kasutaja klõpsab nuppu "Lähtesta", ja väljad võtavad oma vaikeväärtused. Vormi täidab kasutaja ja seda ühe nupuvajutusega "Saada tellimus" saadetud See e-posti aadress on spämmirobotite eest kaitstud. Selle nägemiseks peab teil olema JavaScript lubatud. Tavaliselt ei saada brauser vormi ise, vaid usaldab selle töö vaikimisi arvuti operatsioonisüsteemi installitud meiliprogrammile (näiteks Outlook). Kiri saadetakse kujul:

teema: Microsoft Internet Explorerist saadetud vorm

nimi = Prohhorov Viktor Sergejevitš

value= See e-posti aadress on spämmirobotite eest kaitstud. Selle vaatamiseks peab teil olema JavaScript lubatud

obj = "Juhised"

Kiri koosneb paaridest nimi=väärtus, mis valitakse vormiväljadelt järjekorras.

Vaatame järgmist näidet lähemalt.

Nimekiri vorm_1.html

Sisestage oma nimi:

Selle koodi salvestamine HTML-faili vorm_1.html ja seda brauseris vaadates näete HTML-vormi:

Vormi rakendab konteineri silt . Silt näitab koos oma atribuutidega:

Skripti aadress, millele vorm saadetakse;

Saatmisviis ja vormis sisalduvate andmete omadused. Elementaarne ja lõplik sildid määravad vormi piirid. Nende märkimine on kohustuslik.

Konteineri sildi atribuudid
(
kõik valikulised):

? tegevust--atribuut, mille väärtus on URL- taotletava aadress (täielik või sugulane). CGI- programmid. See programm töötleb vormis sisalduvaid andmeid. Kirje kasutamine on vastuvõetav MAILTO:URL. Sel juhul saadetakse vorm meili teel. Kui atribuut tegevustära täpsusta, saadetakse vormi sisu aadressile URL aadress, millelt see veebileht laaditi, see tähendab "iseendale". See on mugav stenogramm, kuid HTML-i standardi järgi atribuut tegevust nõutud.

? meetod-- määratleb meetodi HTTP, mida kasutatakse vormiandmete saatmiseks brauserist serverisse. Atribuut meetod võib võtta kahte tähendust: saada või postitus:

¦ saada- vormiandmete saatmine aadressiribale. Võib-olla olete märganud erinevatel veebisaitidel URL-i lõpus "?". ja järgmised andmed vormingus parameeter=väärtus. Siin "parameeter" vastab atribuudi väärtusele nimi vormielemendid (vt sildi kohta allpool ), A "tähendus"- atribuudi sisu väärtus(see sisaldab näiteks kasutaja sisestusi sama sildi tekstiväljale ).

Näiteks proovige Yandexist midagi otsida ja pöörake tähelepanu oma brauseri aadressiribale. See on viis saada.

¦ postitus- vormi andmed saadetakse päringu sisuks. Kui see pole täiesti selge (või täiesti ebaselge), ärge muretsege, me pöördume selle probleemi juurde varsti tagasi.

Kui atribuut meetod täpsustamata – kaudne "saada".

? enctype-- valikuline atribuut. Määrab vormi sisutüübi, mida kasutatakse kodeeringu vormingu määramiseks selle esitamisel. IN HTML atribuudi jaoks on määratletud kaks võimalikku väärtust enctype:

¦ RAKENDUS/X-WWW-FORM-URLENCODED(vaikimisi).

¦ MITMEOSALINE/VORM-ANDMED.

Tag võimaldab vormi sisestusväljade sees luua tekstistringe, failinimesid, paroole jne. lõpusilti pole. Kasutamise omadused ja omadused oleneb sellest, kuidas seda kasutatakse.

Tag - määrab atribuudiga määratletud vormielemendi tüüp:

¦ Tähendus "tekst" määrab üherealise tekstisisestusvälja.

¦ Tähendus "Esita" määrab nupu, millele vajutades saadab vormi serverisse.

Võimalikud on ka muud väärtused (ja - ei ole ainus silt, mis määratleb vormielemendi), kuid me vaatame neid järgmistes peatükkides.

Mis juhtub siis, kui klõpsate nuppu OK?

1. Brauser vaatab vormile lisatud elemente ja loob nende atribuutide põhjal nimi Ja väärtus vormi andmed. Oletame, et nimi on sisestatud Vasja. Sel juhul vormi andmed: name=Vasya&okbutton=OK.

2. Brauser loob ühenduse serveriga, saadab serverile päringu atribuudis määratud dokumendi kohta tegevust silt , kasutades atribuudis määratud andmete saatmise meetodit meetod(sel juhul - SAA), edastades päringus vormi andmed.

3. Server analüüsib saadud päringut, genereerib vastuse, saadab selle brauserisse ja sulgeb ühenduse.

4. Brauser kuvab serverist saadud dokumendi.

Sama päringu käsitsi saatmine (kasutades telnet) näeb välja selline (eeldusel, et saidi domeeninimi on www.example.com).

Vorm ise on tavaliselt mõeldud kasutajalt info vastuvõtmiseks selle edasiseks saatmiseks serverisse, kus vormiandmed töötlejaprogrammi vastu võtab. Sellise programmi saab kirjutada mis tahes serveripoolses programmeerimiskeeles, nagu PHP, Perl jne. Programmi aadress on märgitud sildi action atribuudis , nagu on näidatud näites 1.

Näide 1: vormiandmete esitamine

HTML5 IE Cr Op Sa Fx

Vormi andmed



Selles näites edastatakse nimeatribuudiga näidatud vormiandmed (sisselogimine ja parool) faili aadressil /example/handler.php. Kui toimingu atribuuti pole määratud, toimub ülekanne praeguse lehe aadressile.

Ülekanne serverisse toimub kahel erineval viisil: GET ja POST, et määrata märgendis meetod
Kasutatakse atribuuti meetod ja selle väärtused on hankimise ja postitamise märksõnad. Kui meetodi atribuuti pole määratud, siis vaikimisi saadetakse andmed serverisse GET meetodil. Tabelis Joonisel 1 on näidatud nende meetodite erinevused.

Kasutatavat meetodit saab hõlpsasti määrata brauseri aadressiribalt. Kui sellesse ilmub küsimärk ja aadress näeb välja selline, siis on see kindlasti GET.

http://www.google.ru/search?q=%D1%81%D0%B8%D1%81%D1%8C%D0%BA%D0%B8&ie=utf-8

Aadressiriba unikaalne parameetrite kombinatsioon identifitseerib lehe unikaalselt, seega loetakse lehti aadressidega ?q=node/add ja ?q=node erinevateks. Seda funktsiooni kasutavad sisuhaldussüsteemid (CMS, sisuhaldussüsteem) paljude veebisaidi lehtede loomiseks. Tegelikkuses kasutatakse ühte faili, mis võtab vastu GET päringu ja genereerib selle järgi dokumendi sisu.

Allpool on loetletud nende meetodite tüüpilised rakendused saitidel.

SAA

Väikeste tekstiandmete edastamine serverisse; Saidi otsing.

Otsingumootorid ja saidiotsingu vormid saadetakse alati GET-meetodil, mis võimaldab teil jagada otsingutulemusi sõpradega, saata linki posti teel või postitada foorumisse.

POSTITA

Failide (fotod, arhiivid, programmid jne) teisaldamine; kommentaaride saatmine; sõnumite lisamine ja muutmine foorumis, ajaveebis.

Vaikimisi töödeldakse vormi praegusel brauseri vahekaardil, kuid vormi esitamisel saate seda parameetrit muuta ja vormihalduri avada uuel vahelehel või raamil. Seda käitumist täpsustatakse kontekstinime kaudu, mis on sildi sihtatribuudi väärtus . Populaarsed väärtused on _blank vormi avamiseks uuel aknal või vahekaardil ja raami nimi, mis määratakse sildi atribuudiga name



Selles näites, kui klõpsate nuppu Esita, avaneb vormi esitamise tulemus raamis nimega ala .

Vormielemendid paigutatakse traditsiooniliselt sildi sisse
, määrates seeläbi serverisse edastatavad andmed. Samal ajal on HTML5-l võimalus eraldada vorm selle elementidest. Seda tehakse mugavuse ja mitmekülgsuse huvides, nii et keeruline paigutus võib sisaldada mitut vormi, mis ei tohiks üksteisega ristuda, või näiteks kuvatakse mõned elemendid skriptide abil lehe ühes kohas ja vorm ise asub teises kohas. . Seos vormi ja selle elementide vahel toimub sel juhul vormi identifikaatori kaudu ning elementidele tuleks lisada selle identifikaatoriga võrdse väärtusega vormiatribuut (näide 3).

Näide 3: vormi linkimine väljadega

HTML5 IE Cr Op Sa Fx

Vorm



Selles näites silt
identifitseeritakse unikaalselt autentimisidentifikaatori kaudu ja form="auth" lisatakse väljadele, mis tuleb vormi kaudu esitada. Sel juhul elementide käitumine nupule vajutamisel ei muutu, kasutajanimi ja parool saadetakse handler.php töötlejale.

Kuigi vormi edastuse parameetrid on traditsiooniliselt märgitud sildis , saab need üle kanda ka vormi esitamise nuppudele (

Sinu nimi: Teie aadress: Saada: