Web Tervezés - 10. Fejezet

PHP V.

Sütik

A webalkalmazások képesek kis mennyiségű adatot tárolni kliens oldalon (pl böngészőben).
Ezeket az adatokat sütinek (cookie) hívják. Sütik létrehozására HTTP fejlécek szolgálnak.
A webszerver egy válasz üzenetben állíthat be ilyen fejléceket, melyeket a kliens (ált. böngésző) értelmez, és letárolja az adatot.
Ezután a kliens minden kérés során belerakja a HTTP üzenetbe ezeket az adatokat, hogy a szerver elérje.
Gyakori, hogy sütik használatával tárolják le egy kliensben beállított nyelvet, témát, stb., és ennek hatására nem kell minden betöltéskor megadnia a felhasználónak.
Előfordul, hogy felhasználói adatokat is sütikben tárolnak (bejelentkezési állapot, felhasználónév, jelszó), azonban ez egy hibás felhasználás, hiszen a sütiket bármikor szabadon lehet szerkeszteni.
A sütiknek meg lehet adni több tulajdonságát is, például élettartam, érvényességi kör, stb.
A PHP is biztosít beépített függvényt sütik kezelésére.
Mivel a sütik a HTTP üzenetek fejlécében közlekednek, ezért itt is fontos, hogy nem küldhetünk ki semmilyen adatot sütik beállítása előtt, mert utólag már nincs lehetőség fejlécek megadására.
A sütiket a $_COOKIE globális változó segítségével érhetjük el.

Fájl feltöltés

Fájl feltöltéséhez nem elegendő egy input mezőt belerakni a formba. Meg kell adni a küldési formátumot: enctype="multipart/form-data".
Ezután már megkapja a webszerver a küldött fájlt.
A formokban továbbá lehetőségünk van a maximális méret megadására is, de ez nem nyújt 100%-os ellenőrzést, hiszen könnyen kitörölhető kliens oldalon.
Nem csak a fájl méretére, de a típusára, kiterjesztésére is tehetünk megkötést. Erre a fájl input mező accept attribútuma szolgál.
Ez lényegében csak megkönnyíti a felhasználó dolgát a fájl kiválasztásánál, de ettől függetlenül szerver oldalon továbbra is ellenőrizni kell.
PHP a globális $_FILES változót biztosítja a küldött fájlok elérésére.
A feltöltött fájlokat egy ideiglenes mappába helyezi, ahonnan a mi feladatunk elmásolni azokat, különben egy idő után törlődnek.
A $_FILES változóban elérhetjük a feltöltött fájl eredeti nevét és kiterjesztését, valamint az ideiglenes fájl elérését.
Számos beépített eljárás segítségével lekérhetünk további adatokat a fájlról, melyeket ilyenkor érdemes validálni, és csak a megfelelő fájlokat feldolgozni.
A feldolgozás sok mindent jelenthet, de a legfontosabb, hogy másoljuk el a fájlt valahova, különben törlődik.
Például a fájlrendszeren egy images mappába másoljuk át a move_uploaded_file eljárással, és ezt az útvonalat letárolva bármikor használhatjuk a fájlt.

Feladat

A blog bejegyzés létrehozása menüpontot egészítsd ki kép feltöltéssel.
A képet a blog bejegyzések listázásánál jelenítsd meg.
Ne legyen kötelező a kép feltöltése. Ebben az esetben egy alapértelmezett kép jelenjen meg.

Feladat

A blog bejegyzés létrehozása során tárold le a felhasználó adatait is.