in pratica

if(!isset($_SESSION['admin'])){

ti ritorna sempre true?
hai chiuso tutte le finestre del browser?
al limite fai così..hai detto che la variabile contiene 1 o 0....

Codice PHP:
if(!isset($_SESSION['admin']) || (isset($_SESSION['admin']) && $_SESSION['admin']!=1)){ 
così nella condizione entri se non esiste o se esiste ma non è 1....