Čo sú požiadavky na odosielanie a prijímanie? PHP a metódy prenosu dát GET a POST. HTTP protokol. Úvod

  • 03.11.2019

Spoločné majú to, že fungujú rovnako. Technicky medzi nimi nie je žiadny rozdiel. Existujú však ideologické rozdiely.

Budem o nich hovoriť v kontexte PHP. Upozorňujeme, že protokol HTTP nepriamo súvisí s PHP, pretože bol vytvorený na výmenu html stránok a PHP jednoducho rozširuje možnosti oboch.

Požiadavka GET sa používa na príjem údajov a POST sa používa na odosielanie. (Pamätajte, že technicky fungujú rovnako).

Preto sme v kontexte PHP na základe tejto ideológie urobili nasledovné:
1. Pri každom spustení PHP sa štandardne vytvoria superglobálne polia ($_GET, $_POST).
2. Ak je v reťazci dopytu otáznik(?). Všetko po ňom sa zvažuje parametreŽiadosť GET sú prezentované vo formáte "key"="value" a znak ampersand (&) sa používa ako oddeľovač.
Príklad:
GET /index.php?name=Andrey&surname=Galkin
Toto je reťazec dopytu, má 2 parametre. tieto parametre prejdú do poľa $_GET.
3. $_POST sa vyplní iným spôsobom. obsah tohto poľa je vyplnený z "hlavičiek požiadaviek". Teda z miesta jasne ukrytého pred zrakmi. Prehliadač sa stará o všetky práce spojené s vytváraním takýchto hlavičiek. Aj keď sa občas niečo upraví v nadpisoch ručne.

Najčastejšie sa vo formulároch používa žiadosť o príspevok (na odosielanie údajov).

Napríklad máme prihlasovací formulár s 2 poliami: prihlasovacie meno a heslo.

Predstavme si, že používame metódu GET. Potom pri odosielaní formulára prejdeme na nasledujúcu adresu /login.php?login=Andrey&password=123 Súhlasíte s tým, že prenos takýchto informácií týmto spôsobom nie je vôbec bezpečný. Ktokoľvek môže otvoriť váš prehliadač a po zadaní adresy stránky uvidí vaše heslá a prihlasovacie údaje z histórie.

Ak by sme však zadali metódu POST, dostali by sme nasledujúcu požiadavku:
POST /login.php (login=Andrey&password=123) to, čo je v zátvorkách, by bolo skryté a nijako by sa neuložilo v prehliadači.

Aby som to zhrnul:
GET je získanie určitej stránky v určitej forme (triedenie, aktuálna stránka blogu, vyhľadávací panel atď.).
POST - na odosielanie údajov, ktoré neovplyvňujú zobrazenie stránky, v tom zmysle, že tieto údaje ovplyvňujú iba výsledok skriptu (prihlasovacie údaje, heslá, čísla kreditných kariet, správy atď.).

A ďalšou dobrou správou je, že sa dajú kombinovať napr
POST /index.php?page=login (login=Andrey&password=123) Myslím, že som už dostatočne vysvetlil, čo z toho vznikne a aké parametre vstúpia do ktorého poľa.

Posledná aktualizácia: 1.11.2015

Metóda get vytvára požiadavku GET na server, to znamená, že všetky údaje požiadavky sú odovzdané v reťazci dotazu. Akceptuje nasledujúce parametre:

    url: požadovaný parameter obsahujúci adresu zdroja, ku ktorému bude žiadosť pristupovať

    data: voliteľný parameter obsahujúci jednoduchý javascriptový objekt alebo reťazec, ktorý bude odoslaný na server spolu s požiadavkou

    success(data, textStatus, jqXHR) : voliteľný parameter - funkcia spätného volania, ktorá sa vykoná, keď je požiadavka úspešná. Môže mať tri parametre: dáta – dáta prijaté zo servera, textStatus – stav požiadavky a jqXHR – špeciálny objekt jQuery, ktorý predstavuje rozšírenú verziu objektu XMLHttpRequest.

    dataType: voliteľný parameter obsahujúci typ údajov ako reťazec, napríklad „xml“ alebo „json“

Metóda get vracia objekt jqXHR, ktorý zapuzdrí údaje požiadavky. Na tento objekt sa pozrieme podrobnejšie neskôr.

Takže prepíšme príklad z predchádzajúceho odseku pomocou metódy get:

$(funkcia())( $("tlačidlo").click(funkcia())( $.get("ajax.php", funkcia(údaje) ( $("#novinky").html(údaje); upozornenie ("Údaje načítané" ));

Tu sa používajú prvé dva parametre: adresa zdroja a funkcia spätného volania. V tejto funkcii prijímame dáta prijaté zo servera ako dátový parameter a načítame ich ako označenie do elementu výberu ($("#news").html(data);). V podstate by sme mohli urobiť to isté pomocou metódy načítania.

Odosielanie údajov

Pomocou parametra data môžeme odoslať ďalšie údaje. Môžete napríklad odoslať požiadavku na získanie prvku z databázy podľa ID:

$.get("ajax.php", (id: "1"));

A keďže v požiadavke GET sa všetky údaje prenášajú v riadku dotazu, tento kód bude podobný nasledujúcemu:

$.get("ajax.php?id=1");

V súlade s tým môžeme na strane servera prijať tento parameter a vykonať s ním nejaké akcie, napríklad získať prvok z databázy pre dané ID:

Pomocou typu údajov

Táto situácia často nastáva, keď server odosiela údaje v určitom formáte, napríklad json alebo xml. Takže súbor php na strane servera môže vyzerať takto:

"Začiatok majstrovstiev Ruska","dátum"=""13.07.2013")); ?>

V tomto prípade vráti objekt json. Potom na strane klienta môžeme explicitne špecifikovať typ údajov a spracovať prijaté údaje vo funkcii:

$.get("ajax.php", function(data) ( $("#news").empty().append("

Tento príspevok je odpoveďou na otázku položenú v jednom z mojich článkov.

V tomto článku vám chcem povedať, čo sú HTTP metódy GET/POST/PUT/DELETE a iné, prečo boli vynájdené a ako ich používať v súlade s REST.

HTTP

Aký je teda jeden z hlavných protokolov internetu? Pedantov pošlem do RFC2616 a zvyšok poviem ľudsky :)

Tento protokol popisuje interakciu medzi dvoma počítačmi (klient a server), postavenú na základe správ nazývaných požiadavka (Request) a odpoveď (Response). Každá správa sa skladá z troch častí: začiatočný riadok, hlavičky a telo. V tomto prípade je potrebná iba štartovacia čiara.

Štartovacie čiary požiadavky a odpovede majú rôzne formáty – zaujíma nás len štartovacia čiara požiadavky, ktorá vyzerá takto:

METÓDA URI HTTP/ VERZIA ,

Kde METHOD je metóda požiadavky HTTP, URI je identifikátor zdroja, VERSION je verzia protokolu (aktuálne je aktuálna verzia 1.1).

Hlavičky sú kolekciou párov názov-hodnota oddelených dvojbodkou. Hlavičky poskytujú rôzne servisné informácie: kódovanie správ, názov a verziu prehliadača, adresu, z ktorej klient prišiel (Referrer) atď.

Telo správy sú aktuálne prenášané údaje. V odpovedi sú prenášanými údajmi spravidla stránka HTML, ktorú prehliadač požadoval, a v požiadavke sa napríklad v tele správy prenáša obsah súborov nahraných na server. V žiadosti však spravidla nie je žiadne telo správy.

Príklad interakcie HTTP

Pozrime sa na príklad.

Žiadosť:
GET /index.php HTTP/1.1 Hostiteľ: example.com User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b5) Gecko/2008050509 Firefox/3.0b5 Prijať: text/html Pripojenie: zavrieť
Prvý riadok je riadok dotazu, zvyšok sú hlavičky; telo správy chýba

odpoveď:
HTTP/1.0 200 OK Server: nginx/0.6.31 Content-Language: ru Content-Type: text/html; charset=utf-8 Content-Length: 1234 Pripojenie: zavrieť ... SAMA STRÁNKA HTML...

Zdroje a metódy

Vráťme sa na začiatočný riadok požiadavky a nezabudnite, že obsahuje taký parameter ako URI. Toto je skratka pre Uniform Resource Identifier - jednotný identifikátor zdroja. Zdrojom je spravidla súbor na serveri (príklad URI je v tomto prípade „/styles.css“), ale vo všeobecnosti môže byť zdrojom aj nejaký abstraktný objekt („/blogs/webdev/“ - body na vývoj bloku „Web“ a nie na konkrétny súbor).

Typ požiadavky HTTP (tiež nazývaná metóda HTTP) hovorí serveru, akú akciu chceme so zdrojom vykonať. Pôvodne (začiatkom 90-tych rokov) sa predpokladalo, že klient môže od zdroja chcieť iba jednu vec – prijímať ho, no teraz môžete pomocou protokolu HTTP vytvárať príspevky, upravovať profil, mazať správy a mnoho ďalšieho. A tieto akcie je ťažké kombinovať s pojmom „príjem“.

Na odlíšenie akcií od zdrojov na úrovni metód HTTP boli vynájdené nasledujúce možnosti:

  • GET - získanie zdroja
  • POST - vytvorenie zdroja
  • PUT - aktualizácia zdroja
  • DELETE - vymazanie zdroja
Upozorňujeme, že špecifikácia HTTP nevyžaduje, aby server rozumel všetkým metódam (ktorých v skutočnosti existuje oveľa viac ako 4) - vyžaduje sa iba GET a tiež nehovorí serveru, čo má urobiť, keď dostane požiadavku s konkrétnym metóda. To znamená, že server reaguje na požiadavku DELETE /index.php HTTP/1.1 nie je povinný odstráňte stránku index.php na serveri, rovnako ako v prípade požiadavky GET /index.php HTTP/1.1 nie je povinný vráti vám stránku index.php, môže ju napríklad zmazať :)

Do hry vstupuje ODPOČINOK

REST (REpresentational State Transfer) je termín, ktorý v roku 2000 zaviedol Roy Fielding, jeden z vývojárov protokolu HTTP, ako názov skupiny princípov pre tvorbu webových aplikácií. Vo všeobecnosti REST pokrýva širšiu oblasť ako HTTP – dá sa použiť aj v iných sieťach s inými protokolmi. REST popisuje princípy interakcie medzi klientom a serverom na základe pojmov „zdroj“ a „sloveso“ (možno ho chápať ako predmet a predikát). V prípade HTTP je zdroj identifikovaný svojím URI a sloveso je metóda HTTP.

REST navrhuje upustiť od používania rovnakého URI pre rôzne zdroje (t. j. adresy dvoch rôznych článkov ako /index.php?article_id=10 a /index.php?article_id=20 – toto nie je cesta REST) ​​a pomocou rôznych metód HTTP pre rôzne akcie. To znamená, že webová aplikácia napísaná pomocou prístupu REST vymaže zdroj pri prístupe metódou HTTP DELETE (samozrejme to neznamená, že je potrebné dať možnosť vymazať všetko a všetkých, ale akýkoľvekžiadosť aplikácie o odstránenie musí používať metódu HTTP DELETE).

REST dáva programátorom možnosť písať štandardizované a o niečo krajšie webové aplikácie ako predtým. Pri použití REST nebude URI na pridanie nového používateľa /user.php?action=create (metóda GET/POST), ale jednoducho /user.php (prísne metóda POST).

Výsledkom je, že kombináciou existujúcej špecifikácie HTTP a prístupu REST dávajú rôzne metódy HTTP konečne zmysel. GET - vráti zdroj, POST - vytvorí nový, PUT - aktualizuje existujúci, DELETE - vymaže ho.

Problémy?

Áno, s používaním REST v praxi je malý problém. Tento problém sa nazýva HTML.

Požiadavky PUT/DELETE je možné odoslať pomocou XMLHttpRequest, manuálnym kontaktovaním servera (povedzme cez curl alebo dokonca cez telnet), ale nemôžete vytvoriť HTML formulár, ktorý odošle plnohodnotnú požiadavku PUT/DELETE.

Ide o to, že špecifikácia HTML vám neumožňuje vytvárať formuláre, ktoré odosielajú údaje inak ako prostredníctvom GET alebo POST. Preto, aby ste normálne pracovali s inými metódami, musíte ich umelo napodobňovať. Napríklad v Racku (mechanizmus, na základe ktorého Ruby interaguje s webovým serverom; Rails, Merb a ďalšie rámce Ruby sa vyrábajú pomocou Racku), môžete do formulára pridať skryté pole s názvom „_method“ a zadajte názov metódy ako hodnotu (napr. "PUT") - v tomto prípade bude odoslaná požiadavka POST, ale Rack bude môcť predstierať, že prijal PUT a nie POST.

Moderné webové zdroje nielen poskytujú informácie návštevníkovi, ale aj s ním interagujú. Ak chcete komunikovať s používateľom, musíte od neho dostať nejaké informácie. Existuje niekoľko metód na získanie údajov, veľmi bežné sú metódy GET A POST. A podľa toho v PHP existuje podpora pre tieto spôsoby prenosu údajov GET A POST. Pozrime sa, ako tieto metódy fungujú.
GET metódaÚdaje GET metóda sú odovzdané ich pridaním do URL skriptu, ktorý sa vyvoláva na spracovanie prijatých informácií. Ak chcete vysvetliť túto metódu, zadajte adresu URL zdroja do panela s adresou prehliadača a pridajte najprv otáznik (?) a potom riadok num=10. Napríklad

http://domain.ru/script.php?num=10


Ak máte lokálny server, doména bude zvyčajne localhost a predchádzajúci záznam bude vyzerať takto

http://localhost/script.php?num=10


V tomto prípade odovzdáme parameter num rovný 10. Na pridanie nasledujúcich parametrov musí skript použiť oddeľovač ampersand (&), napr.

http://domain.ru/script.php?num=10&type=new&v=text


V tomto prípade sme skriptu odovzdali tri parametre: num s hodnotou 10, type s hodnotou „new“ a v s hodnotou „text“.
Na získanie týchto parametrov v skripte musíte použiť vstavané pole $_GET $_GET["num"], $_GET["type"], $_GET["v"]. Tieto prvky poľa budú obsahovať hodnoty odovzdaných parametrov. Na demonštráciu tohto príkladu vytvorte súbor script.php s nasledujúcim obsahom



Overenie metódy GET v PHP


echo ($_GET["num"]."
");
echo ($_GET["type"]."
");
echo ($_GET["v"]);
?>




A teraz zavolajte tento súbor v prehliadači

http://path/script.php?num=10&type=new&v=text


a v okne prehliadača uvidíte odovzdané parametre. Ale ak zavoláte tento súbor bez dodatočných parametrov http://path/script.php, uvidíte chyby, ktoré interpret vytvorí PHP, že neexistujú žiadne takéto prvky poľa $_GET. Kontrole prijatých údajov od používateľa by sa dal venovať nejeden článok, preto sa v tomto článku nebudem tohto bodu dotýkať.
Ako pravdepodobne chápete, nútiť používateľa zadávať údaje do panela s adresou prehliadača nie je príliš dobré a je úplne nepohodlné. Preto na prijímanie údajov od používateľa potrebujete použiť html formuláre. Napíšeme jednoduchý html formulár.


Zadajte číslo

Máš PC?

Tvoj komentár:





Dovoľte mi trochu okomentovať vytvorený formulár. Formuláre sa vytvárajú pomocou značky formulára. Polia formulára sa vytvárajú pomocou značiek input, select, textarea (môžete si prečítať viac). V značke formulára atribút action určuje adresu URL skriptu, ktorý prijme údaje formulára. V našom prípade sme špecifikovali náš existujúci súbor script.php. Atribút metódy určuje metódu odosielania údajov. Spresnili sme spôsob GET. Teraz už vieme, do akého súboru sa údaje formulára prenesú a akým spôsobom, ostáva už len vymyslieť, kde ich hľadať?!
Tieto údaje formulára odovzdá prehliadač do webového zdroja tak, že ich pripojí k adrese URL: najprv bude otáznik (?), potom budú parametre oddelené znakom &. Názov parametra bude prevzatý z atribútu name, ktorý musí byť uvedený pre každé pole formulára. Hodnota parametra bude závisieť od typu poľa. Ak je pole textové, hodnotou bude text zadaný používateľom. Ak je pole zoznam, skupina prepínačov alebo začiarkavacích políčok, potom hodnota parametra bude hodnotou atribútu value vybraného prvku. Dovoľte mi vysvetliť pomocou nášho formulára ako príkladu. Ak používateľ zadá do vstupného poľa číslo 10, názov parametra bude num (hodnota atribútu name vstupnej značky) a hodnota bude 10 (číslo zadané používateľom). Podľa toho prehliadač vygeneruje pár "num=10". Ak používateľ vyberie zo zoznamu možnosť „Áno“, názov parametra bude typ (hodnota atribútu name značky select) a hodnota bude áno (hodnota atribútu value možnosti tag). V súlade s tým prehliadač vygeneruje pár „typ=áno“.
Teraz tento formulár umiestnime na stránku forma.php.



Formulár na prenos údajov pomocou metód GET a PHP



Zadajte číslo

Máš PC?

Tvoj komentár:









Zadajte ľubovoľné hodnoty do polí formulára a kliknite na tlačidlo „Odoslať“. Po kliknutí na tlačidlo prehliadač otvorí ďalšiu stránku (script.php) a v okne prehliadača sa zobrazia vami zadané údaje. Myslím, že je jasné prečo: prehliadač odovzdá údaje skriptu script.php a v skripte sa tieto údaje spracujú a zobrazia na obrazovke.
metóda POST Teraz sa pozrime, ako metóda funguje POST.
Na odosielanie údajov pomocou POST musíte použiť HTML formuláre. Ako si pamätáme, atribút method značky formulára je zodpovedný za spôsob odosielania údajov formulára. Preto musíte zadať hodnotu POST v atribúte metódy značky formulára. V opačnom prípade môže byť formulár rovnaký ako pri metóde GET. Zmeňme náš formulár, ktorý sme už používali na prenos údajov metódou GET, na prenos metódou POST.


Zadajte číslo

Máš PC?

Tvoj komentár:





Ako vidíte, formulár zostáva rovnaký okrem atribútov metódy a akcie. Údaje budú teraz odovzdané skriptu script_post.php. Umiestnime náš formulár na stránku forma_post.php.



Formulár na prenos údajov pomocou metód POST a PHP



Zadajte číslo

Máš PC?

Tvoj komentár:









Teraz musíme napísať skript, ktorý spracuje naše údaje formulára.
Na prijímanie údajov v skripte pomocou odovzdanej metódy POST je potrebné použiť vstavané pole $_POST. Kľúčmi tohto poľa budú názvy parametrov. V našom prípade musíme použiť $_POST["num"], $_POST["type"], $_POST["v"]. Tieto prvky poľa budú obsahovať hodnoty prenesených údajov. Ako vidíte, rozdiel oproti použitiu metódy GET je vyjadrený iba v použití poľa $_POST. Preto pre nás nebude ťažké napísať súbor script_post.php:



Overenie metódy POST v PHP


echo ($_POST["num"]."
");
echo ($_POST["typ"]."
");
echo ($_POST["v"]);
?>




Teraz otvorte súbor forma_post.php vo svojom prehliadači. Zadajte nejaké údaje do polí formulára a kliknite na tlačidlo „Odoslať“. Teraz ste si pravdepodobne všimli rozdiel medzi metódou POST a metódou GET - údaje formulára sa nezobrazili v paneli s adresou prehliadača. Údaje podľa metódy POST nemožno preniesť cez panel s adresou prehliadača. Toto je významný rozdiel, ktorý si treba zapamätať.
IN PHP Bez ohľadu na to, ako boli údaje odoslané - metóda POST alebo metóda GET - môžete prijímať údaje pomocou poľa $_REQUEST. Porovnanie metód GET a POST Pri použití metódy GET sa údaje prenesú pripojením k adrese URL. Budú teda viditeľné pre používateľa, čo nie je z bezpečnostného hľadiska vždy dobré. Taktiež maximálne množstvo prenesených dát bude závisieť od prehliadača – od maximálneho povoleného počtu znakov v adresnom riadku prehliadača.
Pri použití metódy POST nebudú údaje viditeľné pre používateľa (nezobrazia sa v adresnom riadku prehliadača). A preto sú bezpečnejšie a následne aj program spracúvajúci tieto dáta je z hľadiska bezpečnosti viac chránený. Taktiež objem prenesených dát je prakticky neobmedzený.
Pri výbere spôsobu prenosu dát je potrebné vziať do úvahy vyššie uvedené vlastnosti a zvoliť najvhodnejší spôsob.

Možno ste si všimli, že na väčšine stránok môžete vidieť nasledujúce adresy:

Http://site/index.php?blog=2

Tu, aj bez znalosti php, môžete hádať, že pristupujeme k súboru index.php Málokto však vie, čo nasleduje za otáznikom. Je to celkom jednoduché: ?blog=2 Toto je deklarácia globálnej premennej "$_GET["blog"]" s hodnotou "2". Do skriptu teda odovzdávam premennú, ktorá je zodpovedná za zobrazovanie informácií z databázy. Poďme si napísať malý skript, v ktorom všetko jasne uvidíte:

if(isset($_GET["blog"])) (
echo $_GET["blog"];
}
?>

Používame operátor podmienky if() a ako podmienku sa používa nasledujúci riadok:

Isset($_GET["blog"])

isset() vám umožňuje zistiť, či premenná uvedená v zátvorkách existuje, teda podmienka, ktorú som opísal v kóde, znie takto: Ak premenná $_GET["blog"] existuje, zobrazte obsah tejto premennej na obrazovke. Tu je to, čo sa stalo:

Myslím, že je to jasné Vytvorila sa globálna premenná $_GET s identifikátorom, ktorý sme deklarovali v paneli s adresou ( v tomto prípade s identifikátorom „blog“)

Teraz chcem objasniť jeden bod. Predpokladajme, že potrebujeme deklarovať dve premenné, ako to urobiť? Prvá premenná je deklarovaná za otáznikom "?" Druhá premenná je deklarovaná za znakom „&“ ( Aby som bol úprimný, neviem, čo je toto znamenie), tu je príklad deklarácie troch premenných:

Http://site/index.php?a=1&b=2&c=3

Tu je výstupný kód:

if(isset($_GET["a"]) AND isset($_GET["b"]) AND isset($_GET["c"])) (
echo $_GET["a"]."
";
echo $_GET["b"]."
";
echo $_GET["c"]."
";
}
?>

Podmienka znie takto:

Ak existuje globálna premenná $_GET["a"] a globálna premenná $_GET["b"] a globálna premenná $_GET["c"], zobrazte ich na obrazovke, tu je výsledok:

Formuláre

Než sa dostaneme k príspevokžiadosti, musíte pochopiť, čo sú formuláre? Prečo je to potrebné? Pretože globálna premenná $_POST[""] sa vytvára prostredníctvom formulárov. čo je forma? Toto sú polia, do ktorých používateľ zadá nejaké informácie. Existujú jednoriadkové polia, veľké polia a tiež prepínače a začiarkavacie políčka. Zoberme si všetko po poriadku...

Formulár je značka:


tvarové prvky

Formulár má atribúty, uvediem tie najbežnejšie:

Vytvoríme formulár:


tvarové prvky

Súbor som nastavil ako obslužný súbor test.php keďže práve v ňom pre vás píšem príklady. Spôsob odosielania som nastavil na odoslanie, pretože toto sú spôsoby používané v 99,9% prípadov. Nášmu formuláru som dal aj názov – forma

Teraz sa ponorme do sveta tvarových prvkov. Prvá vec, ktorú musíte pochopiť, je, že takmer všetky prvky sú tag jediný rozdiel je v atribúte typu pri týchto značkách. Dovoľte mi uviesť zoznam použitých prvkov formulára:

Som si istý, že ste takéto polia videli viac ako raz, takže tu je to, čo hovoria: „bez komentárov“

Teraz si vytvoríme malý tréningový dotazník, s ktorým budeme ďalej pracovať. Našou úlohou je vytvoriť malý dotazník, ktorý nám povie meno vyplňujúceho človeka, pohlavie, z akej krajiny je, obľúbenú farbu a textové pole, do ktorého môže používateľ pridať niečo o sebe. Tu je to, čo som dostal:

Vaše priezvisko, krstné meno, patronymické:

Aké je tvoje pohlavie:
M
A

Z ktorej krajiny pochádzaš



Obľúbená farba(y):

Čierna:
červená:
Biely:
Ďalší:

O mne:




Všimnite si, že takmer každá značka má atribút hodnotu, načo to je? Zaznamenáva údaje, ktoré sa chystáte preniesť na inú stránku. Dúfam, že je to jasné

Ak teraz spustíme tento kód v prehliadači, uvidíme nasledovné:

Pre formulár som použil atribút akcie so zmyslom test.php to znamená, ako som už povedal, že údaje z formulára sa prenesú do súboru test.php.

POST žiadosť

Teraz napíšme PHP kód, ktorý nám umožní vidieť informácie, ktoré sme zadali. Kde sú údaje uložené? V prípade požiadavky get boli naše údaje v globálnej premennej $_GET[""]. Pri zadaní požiadavky na príspevok sa údaje uložia do globálnej premennej $_POST[""]. V hranatých zátvorkách musíte napísať, ako v prípade globálnej premennej get, identifikátor. Otázkou je, kde môžem získať tento identifikátor? Preto potrebujeme atribút name na prvkoch formulára! Práve tieto mená slúžia ako náš kľúč v globálnom poli príspevkov. No, začnime popisovať skript:

if(isset($_POST["submit"])) (
echo "Celé meno: ".$_POST["fio"]."
";
echo "Pohlavie: ".$_POST["sex"]."
";
echo "Krajina pobytu: ".$_POST["mesto"]."
";

Echo "Obľúbené farby:
";
echo $_POST["color_1"]."
";
echo $_POST["color_2"]."
";
echo $_POST["color_3"]."
";
echo $_POST["color_4"]."
";
echo "O sebe: ".$_POST["o"]."


";
}
?>

Podmienka if, ktorú sme napísali, hovorí: Ak existuje globálna premenná $_POST["submit"], potom údaje zobrazíme na obrazovke. Táto globálna premenná sa vytvorí, ak klikneme na tlačidlo odoslať, preto v tomto príklade potrebujeme atribút name v tlačidle. Možno sa pýtate, prečo je atribút názvu tlačidla voliteľný? Je to celkom jednoduché. Programátor zvyčajne nemonitoruje stlačenie tlačidla, ale skôr sleduje odosielané údaje. Pre správne fungovanie napríklad kontaktného formulára je potrebné sledovať nie kliknutie na tlačidlo, ale správnosť zadaných údajov a zistiť, či tieto údaje boli vôbec zadané. V našom príklade sme nekontrolovali odoslané údaje, ale jednoducho sme sledovali stlačenie tlačidla, aby sme príklad zjednodušili... Získali sme toto:

Záver

No a dnes sme sa pozreli na dva spôsoby prenosu dát medzi skriptami a zoznámili sme sa aj s formulármi. Naozaj dúfam, že sa vám tieto informácie budú aspoň niekde hodiť. Ak máte nejaké otázky alebo myšlienky, napíšte komentáre. Veľa šťastia pre vás, to je na dnes všetko!

P.S.: Chcete, aby sa počítačové hry stali ešte realistickejšími? directx 11 pre Windows 7 je možné stiahnuť zadarmo na Windows in! Užite si skvelú grafiku!