Hallo miss ratlos,
zunächst mal muß ich das "gaaanz einfach" doch noch mal revidieren. Im Prinzip ist es so schon richtig, ich hatte schon einen Schritt weiter gedacht, wo dieses Prinzip nicht mehr so gut funktioniert.
Aber der Reihe nach.
Mit JavaScript kann man Cookies nicht sooo sehr elegant handhaben. Deshalb geistern eine Reihe von Beispiel-Scrips im Internet herum, die im Prinzip alle das Gleichen machen. Deine Scripts sind soweit schon in Ordnung. Nicht in Ordnung sind folgende Sachen.
Erstens: Das Verfallsdatum. Jedes Cookie braucht explizit die Angabe eines Verfallsdatums. Andernfalls wird das Ende der Session (wenn der Besucher seinen Browser schließt) als Verfalls-Zeitpunkt angenommen und das Cookie is weg. Dein Script setzteCookie() ist (wenn auch etwas unübersichtlich) auf die Eingabe eines Verfallsdatum vorbereitet. In arg_laenge legt es die Anzahl der Argumente (der Übergabeparameter) ab. Das können mehr sein, als in der Parameterliste aufgeführt sind. Schreibe einfach als dritten Parameter in setzeCookie() ein Verfallsdatum rein (dazu später mehr).
Zweitens: Jede HTML-Datei hat Kenntnis von allen Cookies, die von Dateien aus dem gleichen oder einem höheren Verzeichnis gesetzt wurden. Dies bedeutet aber (im Umkehrschluß) dass das Cookie, das in einem untergeordneten Verzeichnis gesetzt wurde (nämlich in einer der Lektionen) in Deinem File index.htm nicht gelesen werden kann. Abhilfe schafft aber ebenfalls Dein Script setztCookie(), das _noch_ mehr Parameter verträgt, mindestens einen vierten, der den Pfad angiebt, ab dem das Cookie gelesen werden kann. Setzte diese Pfadangabe einfach auf das Root-Verzeichnis und Du bist diese Sorge los.
Drittens, sollte Dein Cookie in index.htm initialisiert werden, damit es einen definierten Wert beim ersten Aufruf von index.htm hat.
So !
Unter http://www.RiegerNet.de/MissRatlos findest Du eine Datei index.htm sowie die Dateien
Lektion_1/Lektion_1.htm
Lektion_2/Lektion_2.htm
Lektion_3/Lektion_3.htm
als eine funktionsfähige Mini-Version Deines Online-Kurses. Klick einfach mal zwischen "Lektion x" und "zurück" hin und her. Ich habe mich dabei auf das Elementarste beschränkt. Sehe Dir am Besten (mittels rechte Maustaste => Quelltext anzeigen) die entsprechenden Sourcen an.
Deine drei JavaScript-Funktionen habe ich (schweren Herzens) unverändert gelassen.
Mit einem onLoad-Event im Body-Tag von index.htm wird die Initialisierung des Cookies durchgeführt.
Mit einem onLoad-Event im Body-Tag der Lektion_x.htm Files wird das Update des Cookie durchgeführt.
Beides kannst Du natürlich machen, wo Du willst.
Das Verfalls-Datum (expire) wird in allen Dateien auf "heute plus 1 Jahr" gesetzt (dann müßten Euere Schüler HTML beherrschen ;-) ).
Der Pfad (path) wird auf "/" gesetzt (= Root-Directory).
Die JavaScripts sollte man zweckmäßigerweise in eine Datei auslagern und per Include einbinden.
Noch nicht gelöst ist der Umstand, das das System nun ein Gedächtnis für die _letzte_ Lektion hat, nicht aber für die _höchste_ Lektion. Aber das schaffst Du - denke ich mal - jetzt recht leicht.
Ciao
Hans-Peter