$_GET, $_POST ir $_REQUEST masyvai dažniausiai yra naudojami kartu su html formomis. Šiame straipsnyje galite paskaityti apie kiekvieną iš jų.
Kada naudoti PHP $_REQUEST masyvą?
PHP kalboje yra keli specialūs masyvai, vienas iš jų yra masyvas $_GET. Šiame masyve yra saugomos reikšmės, kurias pateikia vartotojas pateikęs formą, kurios atributas method turi reikšmę get.
Pastaba: apie html formas galite paskaityti mūsų html pamokose: html formos
Informacija, kurią siunčiate get metodu yra visiems matoma, ji bus atvaizduota naršyklės adreso lauke.
HTML forma su atributu method ir reikšme get:
PHP failas kuriam bus pateikta informacija:
Pateikus formą, naršyklėje matysime (jei į įvedimo lauką įvesime Lukas):
Jūsų įvestas vardas: Lukas
Puslapio adresas, rodomas naršyklės adreso lauke bus panašus į tokį:
http://pabandyk.manualai.lt/html_formos_ivedimas_pvz.php?vardas=lukas
Atkreipkite dėmesį į adreso pabaigą, kas eina po .php. Klaustukas reiškia, kad prasideda get masyvo kintamieji, tada matome kintamojo pavadinimą, lygybę ir jo reikšmę. Jei norėtume perduoti daugiau kintamųjų, tada reikėtų dėti ženklą & rašyti sekančio kintamojo pavadinimą, lygybę ir reikšmę, vėl & kintamojo vardą, lygybę ir reikšmę. Galiausiai puslapio adresas būtų maždaug toks:
html_formos_ivedimas_pvz.php?vardas=lukas&miestas=kaunas&salis=lietuva&zemynas=europa
Šį tipą galima naudoti tada, kai reikia, kad duomenys būtų išsaugoti į puslapio adresą. Tai yra naudinga pavyzdžiui paieškos formose, kai yra naudinga paieškos kriterijus išsaugoti į adresą, tada vartotojui paprasta pasidalinti paieškos rezultatais su draugais.
Naudojant get metodą, reikia nepamiršti, kad adreso ilgis neturi viršyti 2083 simbolių. Daugiau apie tai galite paskaityti čia: http://support.microsoft.com/
Įspėjimas: Niekada nenaudokite get masyvo slaptažodžio ar kitų slaptų duomenų perdavimui, nes šie duomenys yra atvaizduojami adreso lauke ir juos bet koks šalia esantis žmogus gali nesunkiai perskaityti.
PHP kalboje yra keli specialūs masyvai, vienas iš jų yra masyvas $_POST. Šiame masyve yra saugomos reikšmės, kurias pateikia vartotojas pateikęs formą, kurios atributas method turi reikšmę post.
Pastaba: apie html formas galite paskaityti mūsų html pamokose: html formos
Informacija, kurią siunčiate post metodu yra visiems matoma, tačiau jai pasiekti reikia specialių papildomų programų. Siunčiamos informacijos per post masyvą naršyklės adreso lauke visiškai nesimato.
Šis masyvas puikiai tinka slaptiems duomenims persiųsti – prisijungimo vardui, slaptažodžiui ir kt.
Pastaba: PHP serveryje yra failas php.ini, dažniausiai, jame yra PHP serverio nustatymai. Pagal nutylėjimą nustatymas post_max_size turi reikšmę 8Mb. Tai reiškia, kad per post metodą vienu kartu galėsite persiųsti daugiausiai 8Mb duomenų.
HTML forma su atributu method ir reikšme post:
PHP failas kuriam bus pateikta informacija:
Pateikus formą, naršyklėje matysime (jei į įvedimo lauką įvesime Lukas):
Jūsų įvestas vardas:
Lukas
Puslapio adresas, rodomas naršyklės adreso lauke bus panašus į tokį:
http://pabandyk.manualai.lt/html_formos_ivedimas_pvz.php
Post metodą reikia naudoti visada, kai nenorime, kad siunčiami duomenys būtų atvaizduojami adreso juostelėje.
Post metodą reikia naudoti tada, kai turime nemažai duomenų, nes šio metodo neriboja 2083 simbolių limitas (taip yra pas get metodą).
$_REQUEST masyvas yra asociatyvus masyvas, kurio viduje yra $_GET, $_POST ir $_COOKIE masyvų reikšmės. Tai yra superglobal tipo masyvas, kuris yra pasiekiamas bet kurioje kodo dalyje.
Šį masyvą patogu naudoti tada, kai tiksliai negalime pasakyti kokiu metodu gausime duomenis ar iš $_GET, $_POST ar $_COOKIE.
Įspėjimas: kadangi šis masyvas gauna reikšmes iš $_GET, $_POST ir $_COOKIE, jo reikšmes vartotojai gali pakeisti ir juo pasitikėti negalima. Prieš naudojant reikšmes iš šio masyvo reikia patikrinti, kad atitiktų tai, ko tikimasi gauti. Pavyzdžiui jei reikšmė atėjo iš HTML formos, kur vartotojas turėjo įvesti savo vardą, reikia patikrinti ar tai ką įvedė sudaryta tik iš raidžių.