Falls es mit PHP-Only sein soll, könntest du eine Art eigene History anlegen.
Du speicherst halt alle besuchten Adressen in einer Session...dann kannst du darin quasi mit PHP navigieren.
Das funktioniert logischerweise nur mit Seiten, die auf dem eigenen Server liegen.
Zu der Sache mit dem Login:
mal angenommen, auf der Profilseite prüfst du, ob man eingeloggt ist.
Wenn nicht, dann speicherst du die Adresse der Profilseite bspw. in einer Session-Variablen...und leitest um zur Login-Seite.
In dem Skript, welches die Anmeldung prüft, leitest du dann bei erfolgreicher Anmeldung zu der Adresse um, die du in der Session-Variablen gespeichert hast...fertig.