Zur Navigation

Weiterleitung nach Eintrag in GB/Forum etc...

1 Isildur

Nunja was ich in der Überschrift beschrieben habe findet man ja sehr häufig, auch in diesem Forum. Ich weiß garnicht ob das nötig ist um die MySQL Datenbankaktionen fehlerfrei durchführen zu können(ist es das?) aber es ist auf jedenfall ganz gut, da man da ja ein Feedback gibt obs geklappt hat oder ob Fehler aufgetreten sind.
Mich würde mal interessieren wie das im Allgemeinen so realisiert wird. Gut hat was mit headern zu tun, braucht man dazu expire oder wie schaut das aus?

17.06.2006 17:44

2 Jörg Kruse

In diesem Forum wird clientseitig weitergeleitet, mit solch einer Meta-Weiterleitung:

<meta http-equiv="refresh" content="10; URL=http://www.example.org/thank-you.php" />

Auf diese Weise kann man noch eine Meldung ausgeben, sowie eine Zeitspanne, nach der weitergeleitet wird (geht natürlich auch mit JavaScript settime()). Ansonsten wäre wohl eine serverseitige Weiterleitung eine gute Wahl. Die Möglichkeit einer zeitlichen Steuerung kenne ich dort allerdings nicht, mit der Header-Angabe "Expires:" untersagt man, soweit ich weiß, nur das Caching ab einem bestimmten Zeitpunkt?

Für ein Insert oder Update ist eine anschließende Weiterleitung nicht notwendig, vielleicht verhindert sie aber Doppeleinträge, für den Fall, dass der User mal aktualisiert

17.06.2006 21:31

3 Isildur

Danke schonmal!
Laut PHP4&mySQL5 von Kofler und Öggl gibt Expires an wann die Seite neu geladen werden muss. Da ich das meiste in eine Datei schreibe(also ich habe z.b. keine eigene Datei storegb.php sondern hab das in die GB-Datei integriert kam ich schon auf die Idee einen Counter per $_GET zu übergeben(nach Formeintrag=1, nach Weiterleitung=2...) aber das wäre dann irgendwann wohl zuviel des Guten(ich mach ja eh schon die gesamte Navi darüber)

Sähe dann wohl so aus
<?php
if(!isset($_GET['counter']) OR $_GET['counter']==0) {
//normaler code der das gb/forum etc. anzeigt
$_GET['counter']=1;
}elseif($_GET['counter']==1) {
header(Expires:time);
echo "Vielen Dank...";
$_GET['counter']=0;
}?>
Keine Ahnung ob das so geht, aber das wäre die Idee in Code umgesetzt

18.06.2006 19:42

4 Jörg Kruse

Laut PHP4&mySQL5 von Kofler und Öggl gibt Expires an wann die Seite neu geladen werden muss.

Steht dort wortwörtlich, dass die Seite dann neu geladen werden muss? Nachdem, was in den HTTP/1.1 Header Field Definitions unter Punkt 14.21 steht, wird dem Browser lediglich bedeutet, ab wann er den Inhalt direkt vom Server (d.h. nicht aus dem Cache oder Proxy) beziehen soll, wenn die Seite neu geladen wird. Die Expires Angabe löst demnach keine Weiterleitung aus.

18.06.2006 22:29

5 Isildur

"Expires:Wann muss eine Webseite neu geladen werden?"
"Cache-Control, Expires und Last-Modified beziehen sich darauf, wie oft eine Seite geladen werden muss. ... Will man sicher gehen, dass eine Seite immer neu geladen wird, empfielt es sich alle drei Header-Informationen zu setzen."
Jetzt wo ichs lese denke ich auch eher dass es sich darauf bezieht ob Informationen aus dem Cache entnommen werden oder vom Server kommen müssen, ist was missverständlich ausgedrückt.

18.06.2006 22:50

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]