- Informatika
- Oktatás
- Web2
- Tudásbázis
- Fotóalbum
- Zene
- Egyéb és vidámság
- Oldaltérkép
- Keresés
Sessionkezelés nem indul el a PHP oldalon - UTF8 kódolásnál
fz, szo, 2008-01-12 15:33
Probléma: Gyakori probléma az, hogy a sessionkezelés nem indul el egy UTF-8 kódolású lapon.
A nagykönyv azt mondja, hogy minden HTTP headernek még azelőtt kell kimennie a szerverről, hogy más HTML tartalmat kiíratunk.
HTTP headert írnak PHP esetén az alábbi függvények:
setcookie()
header()
session_start()
A használatuk - tetszőleges sorrendben tehát így néz ki:
<?php
session_start();
header("......'');
........ többi kód ........
?>
HTML oldal kódja
Ha include, require, include_once vagy require_once függvényeket használunk a session nyitása előtt, akkor vigyázni kell, hogy ezek egyike sem gyártson kimenetet.
Megoldás:
Ha a fentiek ellenére mégsem menne a sessionkezelés akkor az alábbiakat kell megnézni:
- Meg kell győződni, hogy minden korábban include-olt oldal nyitó tagje <?php előtt nincsen még véletlenül sem egy soremelés vagy egy space, és a záró ?> tag után sincsen semmi féle karakter.
- Egyik oldalon sincsen noitce vagy warning hibaüzenet
- UTF8 esetén pedig vigyázni kell arra, hogy egyes editorok Windowson az UTF8 kódolású fájlok elejére tesznek egy 1 byte hosszú header-t, amit nem mutatnak az editoron belül!
Ha ezeket megnéztük, akkor biztosak lehetünk abban, hogy a sessionkezelés menni fog.














