Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
InfiniteReality #9249 üzenetére
PazsitZ előttem már szépen elmondta, vannak alternatív módszerek annak elkerülésére, hogy több fájlban is kelljen sessionöket küldözgetni. Meg lehet template-ezni is, stb. Alapvetően a keretrendszerek, CMS-ek felhasználásakor nem kell ilyesmivel szívnod.
De hogy lehetséges megoldást mondjak arra is, amiről Te beszélsz, lehet ellenőrzéseket is végezni:
1.) headers_sent() függvény segítségével megtudhatod, a HTTP fejlécek el vannak-e már küldve - azt is meg lehet vele tudni, konkrétan hol.Ilyen módon nem használtam még, de ez működhet:
if(!headers_sent && !isset($_SESSION)){
session_start();
}2.) AJAX problémára:
a jQuery pl. beállít egy fejlécet az XMLHTTPRequest-kérésekre (lásd [link]), így a jQuery-s AJAX-függvények használata esetén ez is teljes biztonsággal ellenőrizhető (sokszor tesztelve, valóban működik):define('IS_AJAX', ( isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' ) );
if(IS_AJAX){
session_start();
}Valószínűleg más JS-library-k, frameworkök is beállítanak valami plusz headert, hogy konkrétan mit, az könnyen kideríthető.
Mivel elsősorban AJAX-os problémáról beszéltél Te is, utóbbi megoldás lehet a jobb a kettő közül. De alapvetően inkább egyik sem - jobb adni egy "keretet" a programjaidnak, amiben bizonyos szabályok szerint működnek a dolgok, mindennek megvan a helye, és nem mindenféle fájlban indítgat az ember sessiont - valami olyasmi a megoldás, amit előttem PazsitZ leírt.Alapvetően a hibák elnyomása a @ karakterrel egy nagyon rossz szokásra ösztönöz.
Az elnyomott hibák felderítése pedig egy kódban maga a pokol.
NEM képzelhető el olyan eset, amikor a hibák elnyomását ne lehetne elkerülni valami előzetes vizsgálattal. Ha pedig van rá lehetőség, akkor azt kell alkalmazni.
Új hozzászólás Aktív témák
- Klipsch R-120SW aktív Mélynyomó / Subwoofer - 1,5 év garanciával
- Lenovo X13 Thinkpad Gen2 WUXGA IPS i5-1145G7 16GB RAM 256GB SSD Intel Iris XE Win11 Pro Garancia
- Bomba ár! HP Probook 440 G10 - i3-1315U I 16GB I 256SSD I 14" FHD I W11 I Cam I Garancia!
- Bomba ár! HP Probook 450 G10 - i3-1315U I 16GB I 256SSD I 15,6" FHD I W11 I Cam I Garancia!
- Bomba ár! HP ProBook 450 G8 - i5-1135G7 I 8GB I 256SSD I HDMI I 15,6" FHD I Cam I W11 I Gar
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! iPhone 12 Mini/iPhone 12/iPhone 12 Pro/iPhone 12 Pro Max
- BESZÁMÍTÁS! Gigabyte H610M i5 12400F 32GB DDR4 512GB SSD RTX 3070 8GB Zalman Z1 PLUS A-Data 750W
- Gamer egerek és billentyűzetek kitűnő árakon!
- Telefon szerviz helyben - Gyors javítás, akár 30 perc alatt!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő