- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- gban: Ingyen kellene, de tegnapra
- btz: Internet fejlesztés országosan!
- hcl: Döglött tabletből wifis kijelző kókány
- GoodSpeed: AMD Ryzen 9 9900X (100-100000662WOF)+ Samsung 990 PRO 2TB MZ-V9P2T0BW
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Elektromos rásegítésű kerékpárok
- Kempingezés és sátrazás
- sziku69: Szólánc.
Hirdetés
Ú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
Hirdetés
- Szinte új, minőségi, állítható ritkítóolló
- Xiaomi Redmi Note 12 Pro 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Intel Processzorok sok db : Xeon E5-1620V3, Pentium G4400T, i3 6100, i3-4130, i3-2140T
- Microsoft Surface Laptop 5 13.5" i5-1245U 16GB 256GB 1év garancia
- Gamer PC-Számítógép! Csere-Beszámítás! I5 14400F / RX 6900XT 16GB / 32GB DDR5 / 1TB SSD
Állásajánlatok
Cég: FOTC
Város: Budapest