Njia rahisi zaidi ya kutuma data kwa barua pepe kwa kutumia HTML na PHP. Fomu za HTML. Njia za kutuma data kwa seva kwa kutumia fomu

/php/php5ru.png HTTP/1.0

: www.php5.ru

Kile ambacho ungeona ikiwa ungetazama hii kitaangaza kwenye skrini png-faili katika hariri ya maandishi.

Fomu za HTML. Njia za kutuma data kwa seva kwa kutumia fomu

Mojawapo ya matumizi ya kawaida ya lugha yoyote ya uandishi wa seva ni kuchakata HTML- fomu. Utengenezaji wa programu kwenye wavuti huhusisha zaidi kuchakata pembejeo mbalimbali za watumiaji.

RNR kuwezesha kazi ya usindikaji na uchanganuzi wa fomu zilizopokelewa kutoka kwa kivinjari, kwani uwezo wote muhimu hujengwa kwa lugha katika kiwango cha chini kabisa. Kwa hivyo, mpangaji programu haifai hata kufikiria juu ya huduma za itifaki HTTP na kushangaa jinsi kutuma na kupokea hutokea

NA HTML-aina ambazo tayari umekutana nazo wakati wa kusoma lugha ya alama HTML.

Hebu tuangalie mfano wa kutuma ujumbe kutoka kwa fomu kupitia barua pepe.

Kuorodhesha barua pepe.html. Kutuma ujumbe kutoka kwa fomu kupitia barua pepe

Kutuma fomu kwa barua pepe

Bonyeza Rudisha na ujaze agizo.


Ukichakata msimbo huu wa HTML na kivinjari, ukurasa wa wavuti utaonyeshwa, ambao unaweza kuonekana kwenye skrini ya kufuatilia:

Mtumiaji anabofya kitufe "Weka upya", na sehemu huchukua maadili yao chaguomsingi. Fomu imejazwa na mtumiaji, na kwa kubofya kitufe "Tuma agizo" imetumwa kwa Anwani hii ya barua pepe inalindwa dhidi ya spamboti. Ili kuiona, lazima uwe umewasha JavaScript. Kwa kawaida, kivinjari haitumi fomu yenyewe, lakini hukabidhi kazi hii kwa programu ya barua pepe iliyosanikishwa kwa chaguo-msingi kwenye mfumo wa uendeshaji wa kompyuta (kwa mfano, Outlook). Barua inatumwa kwa fomu:

mada: Fomu iliyowasilishwa kutoka kwa Microsoft Internet Explorer

jina = Prokhorov Viktor Sergeevich

value= Anwani hii ya barua pepe inalindwa dhidi ya spambots. Ili kuiona, lazima uwe na JavaScript iliyowezeshwa

obj = "Miongozo"

Barua inaundwa na jozi jina=thamani, ambayo huchaguliwa kwa utaratibu kutoka kwa mashamba ya fomu.

Hebu tuchunguze kwa undani mfano ufuatao.

Kuorodhesha fomu_1.html

Ingiza jina lako:

Inahifadhi msimbo huu katika faili ya HTML fomu_1.html na kuitazama kwa kutumia kivinjari, unaweza kuona fomu ya HTML:

Fomu inatekelezwa na lebo ya chombo . Lebo inaonyesha pamoja na sifa zake:

Anwani ya hati ambayo fomu itatumwa;

Njia ya kutuma na sifa za data zilizomo katika fomu. Msingi na ya mwisho vitambulisho hufafanua mipaka ya fomu. Dalili yao ni ya lazima.

Sifa za lebo ya chombo
(
yote ya hiari):

? kitendo--sifa ambayo thamani yake ni URL-anwani (kamili au jamaa) ya aliyeombwa CGI-programu. Programu hii itashughulikia data iliyomo kwenye fomu. Inakubalika kutumia kiingilio MAILTO:URL. Katika kesi hii, fomu itatumwa kwa barua pepe. Ikiwa sifa kitendo usielezee, yaliyomo kwenye fomu yatatumwa kwa URL anwani ambayo ukurasa huu wa wavuti ulipakiwa, yaani, "kwenyewe." Huu ni mkato unaofaa, lakini kulingana na kiwango cha HTML sifa kitendo inahitajika.

? njia-- inafafanua mbinu HTTP, inayotumiwa kutuma data ya fomu kutoka kwa kivinjari hadi kwa seva. Sifa njia inaweza kuchukua maana mbili: pata au chapisho:

¦ pata- kutuma data ya fomu kwenye bar ya anwani. Huenda umeona kwenye tovuti mbalimbali kuwepo kwa "?" mwishoni mwa URL. na data ifuatayo katika umbizo parameta=thamani. Hapa "parameter" inalingana na thamani ya sifa jina fomu vipengele (tazama hapa chini kuhusu tag ), A "maana"- sifa maudhui thamani(ina, kwa mfano, ingizo la mtumiaji kwenye uwanja wa maandishi wa lebo hiyo hiyo ).

Kwa mfano, jaribu kutafuta kitu katika Yandex na makini na bar ya anwani ya kivinjari. Hii ndiyo njia pata.

¦ chapisho- data ya fomu inatumwa katika mwili wa ombi. Ikiwa haijulikani kabisa (au haijulikani kabisa) ni nini hii, usijali, tutarudi kwenye suala hili hivi karibuni.

Ikiwa sifa njia haijabainishwa - inaonyeshwa "pata".

? enctype-- sifa ya hiari. Hubainisha aina ya maudhui ya fomu inayotumiwa kubainisha umbizo la usimbaji wakati wa kuyawasilisha. KATIKA HTML maadili mawili yanayowezekana ya sifa yanafafanuliwa enctype:

¦ APPLICATION/X-WWW-FORM-URLEED(chaguo-msingi).

¦ MULTIPART/FORM-DATA.

Lebo hukuruhusu kuunda mifuatano ya maandishi, majina ya faili, manenosiri, n.k. ndani ya sehemu za uingizaji wa fomu. hakuna tag ya mwisho. Sifa na sifa za matumizi inategemea jinsi inavyotumika.

Lebo - inabainisha kipengele cha fomu kinachofafanuliwa na sifa aina:

¦ Maana "maandishi" hubainisha sehemu ya maandishi ya mstari mmoja.

¦ Maana "wasilisha" hubainisha kitufe ambacho, kinapobofya, hutuma fomu kwa seva.

Thamani zingine zinawezekana (na - sio tag pekee inayofafanua kipengele cha fomu), lakini tutawaangalia katika sura zifuatazo.

Kwa hivyo ni nini hufanyika wakati kitufe cha Sawa kinapobofya?

1. Kivinjari kinaangalia vipengele vilivyojumuishwa katika fomu na huunda kutoka kwa sifa zao jina Na thamani data ya fomu. Wacha tuseme jina limeingizwa Vasya. Katika kesi hii, data ya fomu: jina=Vasya&okbutton=Sawa.

2. Kivinjari huanzisha muunganisho na seva, hutuma ombi kwa seva kwa hati iliyoainishwa katika sifa. kitendo tagi , kwa kutumia mbinu ya kutuma data iliyobainishwa katika sifa njia(kwa kesi hii - PATA), kupitisha data ya fomu katika ombi.

3. Seva inachambua ombi lililopokelewa, hutoa jibu, hutuma kwa kivinjari na kufunga uunganisho.

4. Kivinjari kinaonyesha hati iliyopokelewa kutoka kwa seva.

Kutuma ombi moja kwa mikono (kwa kutumia telnet) inaonekana kama hii (ikizingatiwa jina la kikoa la tovuti ni www.mfano.com).

Fomu yenyewe kwa kawaida inakusudiwa kupokea taarifa kutoka kwa mtumiaji kwa ajili ya kuituma zaidi kwa seva, ambapo data ya fomu hupokelewa na programu ya kidhibiti. Programu kama hiyo inaweza kuandikwa katika lugha yoyote ya upangaji ya upande wa seva kama vile PHP, Perl, n.k. Anwani ya programu imeonyeshwa katika sifa ya kitendo cha lebo. , kama inavyoonyeshwa katika mfano 1.

Mfano 1: Kuwasilisha data ya fomu

HTML5 IE Cr Op Sa Fx

Data ya fomu



Katika mfano huu, data ya fomu iliyoonyeshwa na sifa ya jina (kuingia na nenosiri) itapitishwa kwa faili kwenye /example/handler.php. Ikiwa sifa ya kitendo haijainishwa, basi uhamisho hutokea kwa anwani ya ukurasa wa sasa.

Uhamisho kwa seva hutokea kwa njia mbili tofauti: GET na POST, kuweka mbinu katika tag
Sifa ya njia inatumika, na maadili yake ni kupata na kutuma maneno. Ikiwa sifa ya njia haijabainishwa, basi kwa chaguo-msingi data hutumwa kwa seva kwa kutumia njia ya GET. Katika meza Kielelezo 1 kinaonyesha tofauti kati ya njia hizi.

Njia gani inatumiwa inaweza kuamua kwa urahisi na bar ya anwani ya kivinjari. Ikiwa alama ya swali inaonekana ndani yake na anwani inaonekana kama hii, basi hakika hii ni GET.

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

Mchanganyiko wa kipekee wa vigezo katika upau wa anwani hutambulisha ukurasa kwa njia ya kipekee, kwa hivyo kurasa zilizo na anwani ?q=nodi/add na ?q=nodi huchukuliwa kuwa tofauti. Kipengele hiki kinatumiwa na mifumo ya usimamizi wa maudhui (CMS, Mfumo wa usimamizi wa Maudhui) ili kuunda kurasa nyingi za tovuti. Kwa kweli, faili moja hutumiwa ambayo inapokea ombi la GET na, kulingana nayo, hutoa yaliyomo kwenye hati.

Imeorodheshwa hapa chini ni matumizi ya kawaida ya njia hizi kwenye tovuti.

PATA

Kuhamisha data ndogo ya maandishi kwa seva; Utafutaji wa tovuti.

Mitambo ya utafutaji na fomu za utafutaji wa tovuti hutumwa kila mara kwa kutumia mbinu ya GET, hii inakuwezesha kushiriki matokeo ya utafutaji na marafiki, kutuma kiungo kwa barua au kuchapisha kwenye jukwaa.

POST

Kuhamisha faili (picha, kumbukumbu, programu, nk); kutuma maoni; kuongeza na kuhariri ujumbe kwenye jukwaa, blogu.

Kwa chaguo-msingi, fomu inachakatwa kwenye kichupo cha kivinjari cha sasa; hata hivyo, unapowasilisha fomu, unaweza kubadilisha kigezo hiki na kufungua kidhibiti cha fomu kwenye kichupo au fremu mpya. Tabia hii inabainishwa kupitia "jina la muktadha", ambayo ni thamani ya sifa inayolengwa ya lebo . Maadili maarufu ni _tupu kufungua fomu katika dirisha mpya au kichupo, na jina la sura, ambayo imeainishwa na sifa ya jina la lebo.



Katika mfano huu, unapobofya kitufe cha Wasilisha, matokeo ya uwasilishaji wa fomu hufunguka katika fremu inayoitwa area .

Vipengele vya fomu kawaida huwekwa ndani ya lebo
, na hivyo kuamua data ambayo itatumwa kwa seva. Wakati huo huo, HTML5 ina uwezo wa kutenganisha fomu kutoka kwa vipengele vyake. Hii inafanywa kwa urahisi na mchanganyiko, kwa hivyo mpangilio mgumu unaweza kuwa na aina kadhaa ambazo hazipaswi kuingiliana, au, kwa mfano, vitu vingine vinaonyeshwa kwa kutumia maandishi katika sehemu moja kwenye ukurasa, na fomu yenyewe iko katika sehemu nyingine. . Uunganisho kati ya fomu na vipengele vyake hutokea katika kesi hii kwa njia ya kitambulisho cha fomu, na sifa ya fomu yenye thamani sawa na kitambulisho hiki inapaswa kuongezwa kwa vipengele (mfano 3).

Mfano 3: Kuunganisha fomu na mashamba

HTML5 IE Cr Op Sa Fx

Fomu



Katika mfano huu tag
inatambulika kwa njia ya kipekee kupitia kitambulisho cha mwandishi, na form="auth" huongezwa kwa sehemu ambazo zinapaswa kuwasilishwa kupitia fomu. Katika kesi hii, tabia ya vipengele haibadilika; wakati kifungo kinapobofya, kuingia na nenosiri hutumwa kwa handler.php handler.

Ingawa vigezo vya uhamishaji wa fomu kawaida hubainishwa kwenye lebo , zinaweza pia kuhamishiwa kwenye vibonye vya kuwasilisha fomu (

Jina lako: Anwani yako: Tuma: