Bueno, para empezar, tanto en la validación como en el ingreso de nuevos usuarios, deberías utilizar una función de encriptación, como la MD5.
Un ejemplo:
Código PHP:
$resultado= mysql_query("SELECT nick, pass FROM $tabla WHERE (nick= '$user'&& pass=md5('$pass')) ",$conexion);
En donde el password que se encuentra en la BD ya está encriptado con anterioridad.
El problema que mencionas cuando entras al script directamente, puede deberse a que no haces una comprobación de la sesión.
Código PHP:
if(isset($_SESSION["administrador"]) == true)
{
if($_SESSION["administrador"] == "miPassword")
{
.......CODIGO......
}
else
{
.......CODIGO......
}
else
{
.......CODIGO......
}
}
Un último consejo.....no declares las variables como globales, mejor utiliza:
Código PHP:
$_POST['user']
$_POST['pass']
Saludos,
Blag