Código PHP:
<?
session_start();
if (!isset($_SESSION['user']) || !isset($_SESSION['pass']) || !isset($_SESSION['typeuser']))
{
// Borramos la sesion creada por el inicio de session anterior
session_destroy();
$error=2;
tePillao($error);
}
$url=getIdPagina($PHP_SELF);
if ($url es de administrador(pe busca en un array que contenga las pag del administrador))
{
if ($_SESSION['typeuser']=="usuario")
{
$error=5;
tePillao($error);
}
}
if ($url es de usuario(pe busca en un array que contenga las pag del administrador))
{
if ($_SESSION['typeuser']=="administrador")
{
$error=5;
tePillao($error);
}
}
function getIdPagina($cadena)
{
$aux=explode("/",$cadena);
$i=count($aux);
$id=$aux[$i-1];
$aux=explode(".",$id);
$id=$aux[0];
$aux=explode("?",$id);
$id=$aux[0];
return $id;
}
//tePillao($idError) muestra un mensaje de error y te manda a la página inicial
//donde hay que hacer login para entrar.
?>
Yo lo llamo así; seguramente tendrá muchos detractores, pero yo tenía el problema que tú tenías y ya no lo tengo. Impórtalo en las páginas que se encuentren en zona reservada, y se encarga de asegurar que el usuario puede verlas, sin que haya posibilidad de "intercambio de personalidades" entre usuario y administrador o profesor o como quieras llamarlo.
Un saludo,
Banyú.