NetHq Blog


A rossz legjobb kritikája az, ha megmutatjuk, hogyan kell jobban csinálni.

Sessionkezelés nem indul el a PHP oldalon

Nightvis, 2012.05.04 02:31
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

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:

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.

Tartalom közösségi megosztása: