Nagyon gyakran szükségessé válik az adatok feldolgozása egy kliens böngészőből egy szerver fájlba egy szkript segítségével. Nézzük meg pontosan, hogyan kell megszervezni a php paraméterek átadását a szkriptbe.
Szükséges
A PHP és a HTML nyelv alapvető ismerete
Utasítás
1. lépés
Az adatok webes űrlapokból történő továbbításához a HTTP-ben (HyperText Transfer Protocol) két módszer áll rendelkezésre - GET és POST. A kliens alkalmazás (böngésző) és a szerver alkalmazás (futtatható php szkript) között történő továbbítás módja különbözik egymástól. A GET módszer erre a címsávot használja. Vagyis a hozzá továbbított változók nevét és értékét egy kérdőjelen (?) Keresztül közvetlenül hozzáfűzik a szkript címéhez (vagy URL-hez - Egységes erőforrás-kereső). Például az URL így nézhet ki:
Itt a search.php parancsfájlnak átadunk egy num nevű változót 30 értékkel, egy változó newwowow értéket 1 értékkel, és egy változó széfet, amelynek értéke off. A szerver, miután kapott egy ilyen kérést, a "?" elválasztja a fájl címét, és minden mást változó nevek és értékek párjaira oszt. Az eredményül kapott párokat kitöltjük a $ _GET tömbbe, ahonnan a címben megadott php szkript képes lesz kibontani őket. A legegyszerűbb formájában az űrlap html kódja, amely ezeket az adatokat a böngészőből a szerverre küldi a GET módszer segítségével, így nézhet ki:
És az adatok fogadásának legegyszerűbb php szkriptje a következő:
<? php
$ num = $ _GET ['num'];
$ newwindow = $ _GET ['newwindow'];
$ safe = $ _GET ['biztonságos'];
?>
A változók GET módszerrel történő továbbításának legfontosabb hátrányai:
- korlátozott mennyiségű adat, mivel az URL hossza nem haladhatja meg a 255 karaktert;
- nem minden html-kód karakter vihető át ezzel a módszerrel;
- az átvitt adatok a felhasználó számára láthatóak, ami biztonsági szempontból nem mindig elfogadható;
2. lépés
Ezek a kellemetlenségek és korlátozások elkerülhetők egy másik módszerrel - a POST-tal. A hálózati csomagok speciális területeit használja az adatfejek továbbításához. Minden egyéb szempontból a módszerek közötti különbségek minimálisak - az adatok küldésének fenti formájában csak a módszer neve változik:
A php szkriptben pedig csak az adattömb neve:
<? php
$ num = $ _POST ['num'];
$ newwindow = $ _POST ['newwindow'];
$ safe = $ _POST ['biztonságos'];
?>