- Nothing Phone (3a) és (3a) Pro - az ügyes meg sasszemű
- Telekom mobilszolgáltatások
- iPhone topik
- "Titkos termékek" is várhatók a Pixel 10 széria bemutatóján
- Samsung Galaxy S21 FE 5G - utóirat
- Samsung Galaxy S21 Ultra - vákuumcsomagolás
- Megjött Magyarországra a legnagyobb akkuval szerelt Redmi
- Xiaomi Mi 8 - így csinálunk csúcsmodellt Mi
- Okosóra és okoskiegészítő topik
- Google Pixel topik
Ú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
- Xiaomi Redmi Note 13 Pro+ 5G 512GB 12GB RAM - 2027. FRBRUÁRIG GARANCIÁS / akár beszámítással is
- ÚJ Lenovo LOQ 15ARP9 - 15.6" FullHD IPS 144Hz - Ryzen 7 7435HS - 24GB - 512GB - RTX 4050 - 2 év gari
- LG OLED42C44LA 2 Év Gyári Garancia
- LG OLED65B49LA 2 Év gyári Garancia
- Kingston FURY 64GB KIT DDR4 3200MHz CL16 Beast Black
- GYÖNYÖRŰ iPhone 13 128GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3036
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
- iKing.Hu - Motorola G86 5G Dark Blue Használt, karcmentes állapotban 8 GB RAM / 256 GB tárhely
- Bomba ár! Lenovo ThinkPad T480s - i5-8GEN I 8GB I 256GB I 14" FHD I HDMI I Cam I W11 I Gari!
- ÁRGARANCIA!Épített KomPhone i5 13400F 16/32/64GB RAM RX 9060 XT 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: FOTC
Város: Budapest