Šiems duomenims apdoroti labai dažnai reikia perduoti duomenis iš kliento naršyklės į serverio failą su scenarijumi. Pažiūrėkime, kaip tiksliai organizuoti php parametrų perkėlimą į scenarijų.
Tai būtina
Pagrindinės žinios apie PHP ir HTML kalbas
Nurodymai
1 žingsnis
Duomenims iš žiniatinklio formų perkelti HTTP („HyperText Transfer Protocol“) yra du būdai - GET ir POST. Jie skiriasi tuo, kaip jie perduodami iš kliento programos (naršyklės) į serverio programą (vykdomąjį php scenarijų). GET metodas tam naudoja adreso juostą. Tai yra, jam perduotų kintamųjų pavadinimai ir reikšmės per klaustuką (?) Pridedami tiesiai prie scenarijaus adreso (arba URL - „Uniform Resource Locator“). Pvz., URL gali atrodyti taip:
Čia „search.php“scenarijui perduodamas kintamasis, pavadintas num, kurio vertė yra 30, kintamasis newwindow, kurio vertė yra 1, ir kintamasis seifas, kurio vertė yra išjungta. Serveris, gavęs tokį prašymą, "?" atskiria failo adresą ir visa kita padalija į kintamųjų pavadinimų ir reikšmių poras. Gautos poros užpildomos $ _GET masyve, iš kurio adrese nurodytas php scenarijus galės juos išgauti. Paprasčiausia forma html kodas, skirtas šiems duomenims siųsti iš naršyklės į serverį naudojant GET metodą, gali atrodyti taip:
Paprasčiausias php scenarijus šiems duomenims gauti yra toks:
<? php
$ num = $ _GET ['num'];
$ newwindow = $ _GET ['newwindow'];
$ seifas = $ _GET ['saugus'];
?>
Svarbiausi kintamųjų perdavimo naudojant GET metodą trūkumai:
- ribotas duomenų kiekis, nes URL ilgis negali viršyti 255 simbolių;
- šiuo metodu negalima perkelti visų HTML kodo simbolių;
- perduoti duomenys yra matomi vartotojui, o tai ne visada priimtina saugumo požiūriu;
2 žingsnis
Šių nepatogumų ir apribojimų galima išvengti naudojant kitą metodą - POST. Duomenims perduoti - antraštėms naudojama speciali tinklo paketų sritis. Visais kitais atžvilgiais šių metodų skirtumai yra minimalūs - aukščiau nurodyta duomenų siuntimo forma pasikeis tik metodo pavadinimas:
PHP scenarijuje nurodomas tik duomenų masyvo pavadinimas:
<? php
$ num = $ _POST ['num'];
$ newwindow = $ _POST ['newwindow'];
$ seifas = $ _POST ['saugus'];
?>