ti scrivo un piccolo esempio che ovviamente va migliorato 
login.php
codice:
<?PHP
// Avvia la sessione
session_start();
// Verifica se l'utente è già loggato, in caso affermativo reindirizza l'utente
// ad una pagina precisa, altrimenti continua con il login
if ( isset($_SESSION['auth']) && $_SESSION['auth'] == 1 ) {
header("location: admin.php");
exit();
}
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if ( isset($_POST['username']) && isset($_POST['password']) ) {
$username = mysql_escape_string($_POST['username']);
$password= mysql_escape_string($_POST['password']);
// Verifico il login tramite una funzione creata appositamente
if ( check_login($username, $password) ) {
session_register('auth');
$_SESSION['auth'] = 1;
// Redireziono l'utente alla giusta pagina dopo il login
header("location: admin.php");
exit();
}
}
}
?>
<form action="" method="post" name="frmlogin">
<input type="text" name="username" value="">
<input type="password" name="password" value="">
<input type="submit" name="submit" value="Login">
</form>
admin.php
codice:
<?PHP
// Avvio o ripristino la sessione
session_start();
// Verifico le variabili di sessione relative al login
if ( !isset($_SESSION['auth']) || $_SESSION['auth'] != 1 ) {
die("Non puoi accedere a questa pagina senza aver effettuato il login");
}
// Resto del codice...
// ...
?>
spero di non aver sbagliato nulla dato che l'ho scritto adesso adesso e magari di esserti stato utile