en basitinden şöyle bir yapı kullanabilirsin. bir benzerini ben kullanıyorum her projemde

login şeklinde bir Class'ım var.

$login->giris_yap($user,$pass);
bu sisteme giriş yapmayı sağlıyor.
user ve pass doğru ise $_SESSION['username'] = "uysal_rockci" olsun
ve $_SESSION['status'] = "a" admin değerlerini atıyor.

$login->errMsg(); bu da kullanıcı girişi sırasında oluşan hata varsa ( şifre yanlış vs.. ) onu döndürüyor.

$login->admin_mi(); burada session değerlerinde username var mı ve status = "a" değeri mi şeklinde sorgulatıp true ya da false değerini döndürürsün. hata varsa da ->errMsg() fonksiyonuna atarsın .

$login->uye_mi(); burada session değerlerinde username var mı ve status = "u" değeri mi şeklinde sorgulatıp true ya da false değerini döndürürsün. hata varsa da ->errMsg() fonksiyonuna atarsın .
...
..
vs...



diyelimki panel.php senin admin panelin
en tepesinde session_start dedikten sonra
if ($login->admin_mi() != TRUE )  //fonksiyon TRUE degeri döndürmezse 
{
yonlendir ('girisformu.php'); 
die();

}


//panel kodların ...
daha fazla güvenlik fonksiyonu vs . eklenebilir ama şema bu tarz olursa işin görülür.


yazım hatası unutulmuş bişeyler olabilir,
kolay gelsin, iyi günler.