E’ capitato che con Firefox un sito che utilizza le variabili di sessione ($_SESSION[]) funzioni correttamente, ma con Internet Explorer 8, dia errore e funzioni in modo anomalo.
Il problema è da ritrovarsi nell’inserimento di codice prima della funzione session_start() che in php serve a far partire il meccanismo delle sessioni e senza il quale non potresti far leggere variabili tra pagine differenti. Il problema è già noto e spiegato molto bene anche nell’help di php.net, ma in fatto che funzioni su Firefox e non Internet Explorer 8 ha mandato alle cozze molti programmatori php.

Per risolvere è necessario levare tutto il codice precedente al session_start(). Non parlo solo di codice php, ma parlo anche di codice nascosto che molti programmi di editing web nascondono perchè ritenuti “superflui”. Come Expression Web di Microsoft, che inserisce e nasconde una parte iniziale di codice e per scovarla è necessario aprire la pagina maligna con il notepad e cancellare il testo html in più.