Kezdőoldal » Számítástechnika » Programozás » Azokban a szkriptekben,...

Madnezz kérdése:

Azokban a szkriptekben, amikben megadtam a DOKTYPE html -t, nem működik a header ("Location:másik_oldal. Php") ; utasítás. Tud rá valaki megoldást?

Figyelt kérdés

2014. szept. 7. 19:18
 1/7 anonim ***** válasza:
100%

Mi nem működik rajta?

Csak nem olyan üzenetet kapsz, hogy a fejléceket már elküldte a szerver?


A probléma nem a doctype (c és nem k), hanem hogy a PHP-s átirányítás előtt van HTML kimenet, ami generál és leküld headereket, így azokat utólag már nem tudod módosítani.


Ez alapvetően a rossz tervezés miatt történhet meg, de gyors megoldás lehet rá az ob_* függvénycsalád, ami a kimenet bufferelését végzi.

Vagyis a kódod legelején, mielőtt bármit is kiírnál meghívsz egy ob_start();-ot, majd az egész kód végén egy ob_end_flush();-t.

2014. szept. 7. 19:30
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:
Persze, hogy nem megy. A header meghívása előtt abszolút nem lehet semmi kimenet. Márpedig a doctype az nagyon is kimenet.
2014. szept. 7. 21:22
Hasznos számodra ez a válasz?
 3/7 anonim ***** válasza:
Te jó ég mennyit szívtam én is ezzel. :D
2014. szept. 7. 21:43
Hasznos számodra ez a válasz?
 4/7 A kérdező kommentje:

Már tettem a doctype elé is, meg írtam bele ob_start() -ot is. :(

Viszont lehet meg a van a hiba, a kódolás az ami nem tettszik neki, utf8 -ra van állítva, hogy rendben legyenek az ékezetek. ANSI-ban gond nélkül megy a location.

2014. szept. 7. 21:55
 5/7 A kérdező kommentje:
Most viszont a spéci magyar betűkkel van a baj...
2014. szept. 7. 22:13
 6/7 Drone007 ***** válasza:
100%

A kódolásra jó az UTF-8, de a standard utf8 kódoláskor a fájl elejére beszúr a szerkesztő egy un. Byte Order Mark (BOM) stringet, ami kimenetként jelenik meg html oldalon.

Javaslom használj UTF8 kódolást BOM nélkül.

Notepad++ alatt viszonylag egyszerű beállítani az ilyen kódolást.

2014. szept. 8. 09:30
Hasznos számodra ez a válasz?
 7/7 A kérdező kommentje:
WOW! Köszönöm a válaszokat, mindegyik hasznos dolgokat tartalmazott. Most a megoldás az UTF Bom nélkül volt, ezzel már megy a cucc. :)
2014. szept. 8. 10:26

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!