Zu 2, wie gesagt das muss in den Userbereich da es ja in ausgelogten Zustand kein $_SESSION['uid'] gibt.

Zu den Rest sehe ich eigentlich kein fehler