Wie kann ich verhindern, dass man duch den Zurück button ders Browsers auf die vorherige seite (in meinem Quiz) kommt ?
"Zurück" verhindern
Einklappen
X
-
das stimmt, dierekt verhindern kann man ihn nicht, aber du kannst mit JS oder auch mit PHP(sicherer) auf den Seiten eine funktion einbauen, die, wenn man angenommen von der seite 4 mit hilfe des "back" buttons auf seite 3 kommt einfach wieder auf seite 4 geschickt wird!
Prinzip:
Seite 3(nur zum beistpiel):
PHP-Code:session_start()
if($_SESSION['flag']!=2) //wenn der User nicht von der vorhergegangenen Seite (2) kommt:
{
if(isset($_SESSION['flag'])) //wenn $flag jedoch trotzdem gesetzt ist, also der user vorher auf einer anderen Seite des Quizes war
{
echo"<script language="JavaScript" type="text/JavaScript">
history.go(+1);
</script>"; //schicke an den browser eine Seite die lediglich einen JS funktion für "forward" enthällt, also praktisch automatischn den "forwärts"-button betätigt!
exit();
}else{
echo"sie haben die Seite auf eine ungültige art betreten, bitte gehen sie zurück zur anfangsseite";
exit();
}
$_SESSION['flag'] = $_SESSION['flag'] + 1; //setze neue $flag
}
echo"
...rest der seite.... "; //wichtig ist das du den rest der seite per ECHO ausgibst, da er sonst nicht vom "exit()" vetroffen ist, und die sete trotzdem angezeigt wird!!!!
?>
ich bin mir jetzt leider überhaupt nicht sicher obs geklappt hat, da ichs grade hier erst geschrieben habe und es nochnicht getestet habe, fallses fehler gibt solltest du aber trotzdem daraus noch etwas machen können!
Kommentar
-
Also ich würde mich als User bedanken, wenn Deine Seite mir auf einmal die gewünschte Funktionsweise meines Browsers überschreibt.
Um zu erreichen, dass die Seite neu geladen wird, kannst Du ja im Head-Bereich sagen, dass die Seite nicht gecached werden soll.
PHP-Code:<meta http-equiv="Pragma" content="no-cache">
Kommentar
-
Hast Du denn bei Dir auch ein "Refresh" gemacht, damit die alte Seite nicht bei Dir aus dem Cache geladen wird?
Falls das nicht funzt, hätte ich gerne gewußt, wann und wann das nicht funktioniert.
Ich dachte, dass man den Browser so dazu bekommt, dass er eine Seite bei jedem Aufruf neu lädt und nicht cached...
Kommentar
-
wenn das so nicht funzt kannst du dir den code da oben auch einfach in JS porten, und dann braucht er die seite auch garnicht neu zu laden!
Kommentar
Kommentar