Wenn ja, wird auf eine geschützte Seite weitergeleitet.
Definiere "geschützte Seite". Wenn du "weiterleitest" interpretiere ich das so, dass man auch direkt diese Seite aufrufen kann.
Was spricht gegen .htaccess?
Wenn du .htaccess nicht verwenden kannst, schau dir mal HTTP-Authentifizierung mit PHP an.
Die User-Prüfung muss auf der Seite stattfinden, die angezeigt (oder eben nicht) werden soll.