Código PHP:
if (!isset($_SESSION['ok']) || $_SESSION['ok'] != "correcto") {
header("Location: error.php");
}else{
//..
}
Justo hace un momento contestaba en otro post lo malo de no comprobar bien las variables
![U_U](http://static.forosdelweb.com/fdwtheme/images/smilies/nods.png)
.. en este caso, primero hay que comprobar si existe la variable de sesion, si no existe, ya ni hacemos la segunda comprobacion. Si existe, entonces ya podemos comprobar que su valor sea el que tu quieres que sea.
Ahora, con esta correccion, ya no te mostrara el undefined index.. y con eso, supongo que tampoco saldra el headers already sent.
Saludos.