Új hozzászólás Aktív témák
-
cucka
addikt
válasz
Paulie86 #2440 üzenetére
A setcookie() ebből a szemponbtból pontosan ugyanúgy viselkedik, mint a header(), vagyis amikor meghívod, létrehozza (és kiküldi a böngészőnek) a http fejlécet.
A problémát az okozza, hogy amikor legelőször kiírsz valamit a standard kimenetre (ez lenne más szóval az output buffer), akkor szintén elküldi a http fejlécet. Elküldött fejlécet pedig már nem lehet módosítani.Namost egy rendesen megírt weboldal struktúrája valahogy a következő módon néz ki
- bemeneti adatok ellenőrzése
- bemeneti adatok feldolgozása, html/css kód előkészítése, fejléc beállítása
- html/css kód kiírásaHa a tiednél a kiírás nem az utolsó, akkor a kód nem jó. Ettől még működhet, arra gondolok, hogy minőségileg nem megfelelő a kód.
de elvileg ha ob_start() és ob end flush között van akkor nincs gond.
Az ob_start annyit csinál, hogy az output buffer-t (a programod standard kimenetét) leállítja, az ob_end_flush pedig kiírja a bufferben felhalmozott, még ki nem írt szöveget. Tehát hiába van a login.php-d végén az ob_end_flush, ha a login.php-t a header hívás előtt include-olod, mert a flush hamarabb fog lefutni, mint a header.Amúgy egy jó tanács: normálisan strukturált php kódnál nagyon ritkán van szükség az output buffer-t kezelő függvényekre, ezért használatuk helyett javaslom, inkább strukturáld át a kódot.
Új hozzászólás Aktív témák
- LG 42C4 - 42" OLED evo - 4K 144Hz - 0.1ms - NVIDIA G-Sync - FreeSync - HDMI 2.1 - A9 Gen7 CPU
- ÁRGARANCIA! Épített KomPhone Ryzen 5 7500F 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Bomba ár! Dell Precision M4600 - i7-QM I 8GB I 500GB I Nvidia I HDMI I 15,6" FHD I W10 I Gari!
- BESZÁMÍTÁS! Apple MacBook Pro 14 M2 Pro - M2 Pro 16GB 512GB SSD garanciával hibátlan működéssel
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest