php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
"Zurück" verhindern


 
FS88
23-08-2003, 14:09 
 
Wie kann ich verhindern, dass man duch den Zurück button ders Browsers auf die vorherige seite (in meinem Quiz) kommt ?

 
snook
23-08-2003, 15:12 
 
Du kannst den "Zurück"-Button des Browsers nicht unterdrücken.

 
Tartax
23-08-2003, 15:55 
 
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):

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!!!!
?>



so, das sollte es dann schon sein!

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!

 
Trashar
23-08-2003, 18:07 
 
statt exit() kannste ja auch die() nehmen
das ja wurscht weil der rest ja schon ausgegeben wird und unten der teil dann nicht mehr ausgegen wird. davon merkt der user ja nix
mfg

 
FS88
23-08-2003, 21:16 
 
Das problem ist, das die seite ja nicht neu geladen wird, wenn man auf den "Zurück" button klickt.

 
DSB
23-08-2003, 21:52 
 
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.

<meta http-equiv="Pragma" content="no-cache">

 
FS88
23-08-2003, 23:26 
 
Das hilft auch nichts, die seite wird nicht nochmal geladen, und auch kein script ausgeführt!

 
DSB
24-08-2003, 00:21 
 
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. :confused:
Ich dachte, dass man den Browser so dazu bekommt, dass er eine Seite bei jedem Aufruf neu lädt und nicht cached...

 
Tartax
24-08-2003, 12:55 
 
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!

 
FS88
24-08-2003, 12:57 
 
Hast Du denn bei Dir auch ein "Refresh" gemacht, damit die alte Seite nicht bei Dir aus dem Cache geladen wird?
Wie mach ich einen "Refresh" ?

 
FS88
24-08-2003, 13:02 
 
Mein problem ist, dass ich keine ahnung vob JS hab

-archiv-

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:02 Uhr.