@AnGSt hab grad nicht allzuviel zeit aber ich versuchs mal auf die schnelle:
du machst erst dein session_start();
dann musst du jeden link (a href) der auf einen anker zeigt eine ajax anfrage an eine datei starten lassen. etwa auf die datei speichereAnker.php
die datei speichereAnker.php kümmert sich um die speicherung auf den stapel.
dann brauchst du noch eine datei loescheAnker.php
diese wird jedesmal aufgerufen, wenn der user den selbstgebauten back button drückt (das php script nimmt also etwas vom stapel weg). ebenfalls ajax.
nun hast du speichern und löschen hinter dir. das einzige was noch bleibt ist zu sagen wann gespeichert und gelöscht wird (und natürlich auch was). wie oben schon kurz angedeutet, wird auf jeden geklickten anker die speichereAnker.php angefragt, und beim back button die loescheAnker.php. denen übergibst du einfach immer was gelöscht und was gespeichert werden soll.
der ablauf dannach läuft so:
deine seite mit dem session_start() schaut in die session und prüft, ob es gespeicherte anker gibt (die die speichereAnker.php erzeugt). wenn ja, wir ein javascript erzeugt, das den back button definiert. also im grunde etwas wie:
if isset($_session['anker']){
erzeuge js code
}
das session array ist ein mehrdimensionales array, das die seite und den anker speichert. wie du richtig erkannt hast, muss dein array einen numerischen index besitzen, um die reihenfolge zu erkennen. also etwas wie:
$_session['anker'][0]['seitenname'] und $_session['anker'][0]['anker']
das array sollte vielleicht nicht anker sondern lieber ankerliste heissen. sitze aber gerade am ipad und dauert zu lang das zu ändern. also lieber $_session['ankerliste']....
das ganze sollte gut funktionieren. wenn der user allerdings den browser back button drückt, und dannach den selbstgebauten back button, wird dieser an die seite geleitet, die in der ankerliste steht. aber wie gesagt, das lässt sich nicht umgehen.