Ti hanno già spiegato che qualsiasi header deve essere messo prima di qualsiasi output al browser. Per output si intende sia un echo o un print del php sia il codice html che sta fuori del php (!!! anche un semplice spazio costituisce output !!!).
Ora, per risolvere il problema bisogna prima capire dove sta!
Io procederei per gradi.
1) Controlla che la variabile da controllare esista stampandone il valore
2) Aggiungi il controllo ed all'interno dell'if e dell'else inserisci un semplice echo che ti indichi lo stato dell'operazione
Fatto questo hai controllato che l'if funzioni correttamente ed a questo punto puoi anche inserire l'header.Codice PHP:if ( $_SESSION['var'] == 'valore' )
{
echo '$_SESSION[\'var\'] è valida' ;
{
else
{
echo '$_SESSION[\'var\'] non è valida' ;
}
Procedendo in questo modo sai esattamente dove sta l'errore anche se il php non ti restituisce il messaggio di errore.
EDIT
Il forum elimina \ da $_SESSION['var']. Nell'echo li devi mettere prima degli apici altrimenti ti darà errore.

Rispondi quotando