Ich hätte ein paar Anmerkungen zu deinem Script ( habs nur kurz überflogen )
1.

$_SERVER['PHP_SELF'] sollte nicht genutzt werden
2. session_start() sollte die erste Anweisung einer PHP Datei sein ( siehe login.php )
3. SQLI ist an gewissen Stellen möglich ( auch wenn die Datei in der sie sich befindet, nur im eingeloggten Zustand erreichbar ist )
mfg