A POST és a GET módszer

A POST és a GET módszer

Most, hogy megismerkedtünk a PHP-loop különféle típusaival, új kihívások elé nézhetünk.

Mai leckénkben a GET és a POST módszerekkel fogunk foglalkozni, melyek A PHP-formok című leckéből lehetnek ismerősek. Mai cikkünkből megtanulhatod, hogyan küldhetőek át az információk a szerverre a POST és a GET módszerek segítségével.
 

Az információ szerverre való küldésének módjai

A böngészők tipikusan a két HTTP (Hypertext Transfer Protocol) módszer egyikének segítségével kommunikálnak a szerverrel — ez a két módszer a POST és a GET. Mindkét módszerrel más módon továbbítjuk az információt, és mindkettőnek megvannak az előnyei és a hátrányai.

A PHP-formok című leckében egy HTML-formot használtunk, melyet egy PHP-weboldalra küldtünk feldolgozásra. Akkor a POST módszert alkalmaztuk, de választhattuk volna a GET módszert is. Mai leckénkben mindkét küldési módszerrel foglalkozni fogunk.
 

A POST módszer

A formokkal foglalkozó cikkünkben a POST módszert alkalmaztuk. A HTML-kód erre vonatkozó sora így festett:
 

PHP-kód-kivonat:

<form action="process.php" method="post">
< name="item">
...
<input name="quantity" type="text" />
 

Ez a HTML-kód határozza meg, hogy a form adatai a „process.php” weboldalon lesznek közzétéve, a POST módszer alkalmazásával. A PHP ezt úgy valósítja meg, hogy az összes „posztolt” értéket a „$_POST” asszociatív tömbben tárolja. Bizonyosodj meg róla, hogy jól választottad meg a form adatainak nevét, hiszen ezek lesznek a kulcsok a „$_POST” asszociatív tömbben.

Most, hogy már az asszociatív tömbök fogalmával is megismerkedtünk, a „process.php” PHP-kódja bizonyára sokkal érthetőbb, mint néhány hete volt.
 

PHP-kód-kivonat:

$quantity = $_POST['quantity'];
$item = $_POST['item'];
 

A formokban található nevek az asszociatív tömb kulcsai, ezért fontos, hogy a HTML-formban ne legyen két olyan bemeneti elem, amely neve megegyezik. Ha ez mégis megtörténne, könnyen problémákba ütközhetsz a POST módszer alkalmazása során.
 

A GET módszer

Ahogy korábban is említettük, a másik formküldési módszer a GET. Ha a HTML-formot úgy változtatnánk meg, hogy a GET módszert alkalmazza, a kódrészlet ilyen lenne:
 

PHP-kód-kivonat:

<form action="process.php" method="get">
< name="item">
...
<input name="quantity" type="text" />
A GET módszer különlegessége, hogy a változókat a „process.php” weboldalra úgy juttatja el, hogy az URL végére illeszti őket. Az URL végére a küldés után a következő kerülne:
"?item=##&quantity=##"


A kérdőjel („?”) mutatja a böngészőnek, hogy a jelet követő elemek változók. Most, hogy megváltoztattuk az információküldés módszerét az „order.html”-ben, a „process.php”-ben is módosítanunk kell a kódot, hogy a „$_GET” asszociatív tömböt alkalmazza.

Lássunk egy gyakorlati példát az URL kinézetére:

http://www.example.com/action.php?name=john&age=24

A félkövér részek a GET-paraméterek, a dőlt betűs részek pedig a paraméterek értékei. A & jel segítségével több paraméterérték-párt is az URL-be foglalhatunk.
 

PHP-kód-kivonat:

$quantity = $_GET['quantity'];
$item = $_GET['item'];
 

Miután megváltoztattuk a tömb nevét, a script helyesen fog működni. A GET módszer mutatja a változó információit a látogatónak, ezért arra nagyon kell ügyelni, hogy jelszavakat vagy személyes információkat ne a GET módszerrel küldjünk, hiszen nem szeretnénk, hogy a látogatóink olyasmit lássanak, amit nem kellene.
 

Mikor melyik módszert alkalmazzuk?

A GET módszerrel küldött információk mindenki számára láthatóak, hiszen az URL tartalmazza őket. A GET továbbá korlátozza a küldhető információ mennyiségét is. A módszerrel nagyjából 2000 karakternyi információt küldhetünk. A GET előnye, hogy mivel a változók az URL-ben találhatóak, a böngésző könyvjelzői közé menthetjük őket. Ez számos esetben lehet hasznos.

A POST módszerrel küldött információk előnye, hogy mások számára láthatatlanok (hiszen minden név/érték a HTTP-kérés testébe van ágyazva, és az információmennyiség sincs korlátozva). A POST emellett olyan funkciókat is támogat, mint például a több részből álló bináris bemenetek a fájlok szerverre való feltöltésekor. A hátránya, hogy mivel a változók nem jelennek meg az URL-ben, nem tudjuk a könyvjelzők közé rakni az oldalt.
 

Biztonsági óvintézkedések

Ha a felhasználó által bevitt adatokkal dolgozunk, mindig meg kell bizonyosodnunk arról, hogy a bevitt adatok biztonságban vannak. Ha az adatokat MySQL-adatbázisban fogjuk elhelyezni, lépéseket kell tennünk a MySQL Injection megakadályozása érdekében. Ha a felhasználók által bevitt adatok nyilvánosan elérhetőek lesznek, érdemes elgondolkodni a PHP htmlentities alkalmazásán.

 

Összegzés:

Mai cikkünkben bemutattuk a POST és a GET módszereket. Mindkettőnek megvannak az előnyei és a hátrányai, az pedig, hogy melyiket fogjuk használni, mindig az aktuális projektum igényeitől függ. Leckénkben nem foglalkoztunk részletesebben a biztonsággal, erről azonban nem szabad megfeledkezned, ha „élesben” alkalmazod majd a POST és a GET módszereket.

 


 

NYEREMÉNYJÁTÉK

Rovatunk elsődleges célja, hogy közelebbről is bemutassa a legismertebb webtechnológiákat. Azok között az olvasók között, akik minden héten követik rovatunkat, azaz velünk tanulják a programozás alapjait és kitöltik a feladatsort, a sorozat végén egy laptopot sorsolunk ki.

A játék heti kérdése

Milyen formküldési módszert kell alkalmaznunk, ha a form adatait hozzá szeretnénk fűzni az URL-hez?
1. GET
2. POST
3. Nincs ilyen módszer

 


 

Néhány szó rólunk:

Az ErdSoft (www.erdsoft.com) 2011-ben alakult meg. Csapatunkat a fiatalos lendület, a szakértelem, a folyamatos tanulás és tapasztalatgyűjtés jellemzi. Ügyfeleinknek igyekszünk teljes körű szolgáltatást nyújtani — bátran fordulhatnak hozzánk, legyen szó webfejlesztésről, alkalmazásokról, SEO-optimalizálásról, grafikai tervezésről, marketingről vagy szövegírásról. Csapatunk sikerét mi sem bizonyítja jobban, mint a több száz elkészült weboldal és a számos elégedett ügyfél Szerbiában, Magyarországon és az Egyesült Királyságban.

Szeretne értesülni, ha új cikk jelenik meg Számtek rovatunkban? Iratkozzon fel értesítőnkre!

E-mailben értesíteni fogjuk Önt az új cikkekről. Feliratkozáshoz kérjük adja meg a nevét és az e-mail címét.

Hozzászólások

Kapcsolódó cikkek

A POST és a GET módszer
Számtek
  • Erdsoft
  • 2019.08.15.
  • LXXIV. évfolyam 32. szám
A POST és a GET módszer
Számtek
  • Erdsoft
  • 2019.08.09.
  • LXXIV. évfolyam 31. szám
Facebook

Támogatóink