Usa exit tras un envio de cabeceras tipo header() location ... Con eso se termina la ejecución del script en ese punto .. Pues el "location" solo hace q decirle al navegador que cambien la página del cliente . pero el script continua su ejecución ..
Código PHP:
session_start();
if ($_SESSION['dentro']!= 1)
{
header("Location: error.php");
exit; // terminar el script ..
}
Cuando dices "no me redirecciona" .. que hace el script? .. algun error? .. pagina no encontrada? .. nada? ..
En que servicio de hosting lo usas? .. o es tu PC como servidor? ...
si haces un echo "bla bla bla"; antes del header (y dentro de tu condicional) .. Ves "bla bla bla" y un error de PHP q dice algo tipo "cabeceras ya enviadas en linea tal ... " ?
Un saludo,