Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
hoplite
Threadersteller
Dabei seit: 12.07.2008
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Di 22.07.2008 22:11
Titel nach login seitenrefresh bringt störende warnmeldung (ie/ff) |
|
|
ahoy,
mal eine frage bzgl. redirect nach login: benutze das cms typo3 und dort eine loginfunktion. nach dem login bleibt der besucher auf der seite, wo er sich eingeloggt hat. das finde ich so auch ganz shön. was mich daran stört, wenn man dan nach dem login f5 drückt, halt ein seitenrefresh durchführt, kommt die warnmeldung
"Um diese Seite anzuzeigen, müssen die von Firefox gesendeten Daten erneut gesendet werden, wodurch alle zuvor durchgeführten Aktionen wiederholt werden (wie eine Suche oder eine Bestellungsaufgabe)."
wenn man die seite über link nochmal aufruft und dann refresht, kommt die meldung ja nicht mehr. dacht nun daran, ob man diese meldung nicht umgehen könnte, indem man evtl. im html-formular ein redirect einbaut, welches auf dieselbe art wieder zu der seite leitet, wie es das tun würde, wenn man nach dem login, via link die seite neu aufruft. hoffe das halbwegs verständlich formuliert habe.
wenn mir jemand den einen oder anderen konstruktiven tipp dazu geben könnte, würde ih mich sehr freuen.
danke und gruß,
hoplite
|
|
|
|
|
Snifferdog
Dabei seit: 08.03.2007
Ort: Düsseldorf
Alter: 35
Geschlecht:
|
Verfasst Mi 23.07.2008 08:13
Titel
|
|
|
Naja die Sache ist ja eigentlich ganz klar.
Beim Login werden an die Datei Information per POST geschickt. Deswegen fragt der Browser, wenn man neuladen möchte ob diese Informationen auch nochmal geschickt werden sollen. Wenn du aber auf nen Link klickst, öffnest du ja einfach die Seite ohne irgendwelche Informationen mitzugeben (GET mal ausgelassen) und da brauch der Browser natürlich auch nicht fragen.
Wie du schon gesagt hast könntest du es halt so einrichten, dass er nach dem die Informationen gesendet wurden per meta-refresh oder direkt in php per header("location: url") auf die Seite verlinkt ohne dass der User es mitbekommt.
Du musst dann natürlich dafür sorgen, dass dies nur einmal passiert.
Dafür könntest du z.B. ein hidden-feld beim Formular erstellen und mitsenden lassen und dann per PHP die Abfrage setzen, falls diese Information übertragen wurde, dann einmal neuladen.
Eine ganz andere Frage ist aber, wieso soll man auf der Loginseite unbedingt neuladen können ohne, dass der Browser diese Anfrage stellt?
Hoffe ich habe einigermaßen verständlich erklärt ^^
Gruß
|
|
|
|
|
Anzeige
|
|
|
hoplite
Threadersteller
Dabei seit: 12.07.2008
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mi 23.07.2008 08:41
Titel
|
|
|
hi snifferdog,
"Eine ganz andere Frage ist aber, wieso soll man auf der Loginseite unbedingt neuladen können ohne, dass der Browser diese Anfrage stellt?"
es ist mir im sinne eines reibungs und störungslosen ablaufs wichtig. kann ja immer mal vorkommen, das ein user, zb. wegen comments die seite neu lädt auf der er sih eingeloggt hat, und ich denke so eine browsermeldung wird teilweise als störend wahrgenommen.
ein meta-refresh würde ich nur ungern verwenden. aber die möglichkeit mit dem hidden field klingt interessant. kannst du mir etwas genauer beschreiben, wie ich dazu vorgehen müßte?
grüße, hoplite
Zuletzt bearbeitet von hoplite am Mi 23.07.2008 09:08, insgesamt 1-mal bearbeitet
|
|
|
|
|
Snifferdog
Dabei seit: 08.03.2007
Ort: Düsseldorf
Alter: 35
Geschlecht:
|
Verfasst Mi 23.07.2008 09:19
Titel
|
|
|
Hi,
also ob das die schönste oder sauberste Methode ist weiß ich auch nicht so genau, aber funktionieren sollte sie auf jeden Fall und ich sehe im Moment eigentlich keine Ungereihmtheiten oder sowas die Probleme erzeugen könnten.
Mein Vorschlag wäre ungefähr so:
Du musst zunächst bei der Form der Loginseite ein Feld hinzufügen:
Code: | <input type="hidden" name="submit" /> |
Das heißt bei jedem Login wird jetzt noch die Variable "submit" weitergegeben an deine Loginseite.
Auf dieser musst du dann abfragen ob dieser Wert übergeben wurde.
Code: |
<?php
if(isset($_POST['submit'])){
header("Location: die_url_der_seite");
}
?>
|
Das wars eigentlich schon. Wichtig ist, dass vor dem Header keine Ausgabe gemacht werden darf. D.h. du schreibst ihn am besten möglichst weit nach oben im Script, sonst bekommst du eine Fehlermeldung.
Gruß
|
|
|
|
|
hoplite
Threadersteller
Dabei seit: 12.07.2008
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mi 23.07.2008 09:39
Titel
|
|
|
das klingt nachvollziehbar und gut
aber kann man die einstellung "location:die_url_der_seite" auch so shreiben, das immer auf die aktuelle seite verwiesen wird? weil ich habe auf der seite ja auch dynamishe inhalte...
edit: habe das jetzt mal ausprobiert und "<input type="hidden" name="submit" />" an das formular angehängt, und das php eingefügt, aber leider funktioniert das nicht, auch nicht mit einer konkreten url...
Zuletzt bearbeitet von hoplite am Mi 23.07.2008 09:50, insgesamt 1-mal bearbeitet
|
|
|
|
|
choise
Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht:
|
Verfasst Mi 23.07.2008 09:55
Titel
|
|
|
hoplite hat geschrieben: | das klingt nachvollziehbar und gut
aber kann man die einstellung "location:die_url_der_seite" auch so shreiben, das immer auf die aktuelle seite verwiesen wird? weil ich habe auf der seite ja auch dynamishe inhalte...
edit: habe das jetzt mal ausprobiert und "<input type="hidden" name="submit" />" an das formular angehängt, und das php eingefügt, aber leider funktioniert das nicht, auch nicht mit einer konkreten url... |
fehlermeldung ?
was passiert genau NICHT ?^^
Code: |
<?php
if(isset($_POST['submit'])){
header('Location: '.$_SERVER['PHP_SELF']);
}
?>
|
macht die aktuelle seite.
|
|
|
|
|
Snifferdog
Dabei seit: 08.03.2007
Ort: Düsseldorf
Alter: 35
Geschlecht:
|
Verfasst Mi 23.07.2008 10:15
Titel
|
|
|
Hi,
das mit dem dynamischen kann ich leider nicht ganz nachvollziehen. Den Wert den "PHP_SELF" ausgeben wird kann ja auch nur immer der selbe sein, denn das Script steht ja immer in der selben Datei !? Es sei denn du schreibst es in mehrere Dateien rein, aber dann kannst du genauso gut auch absolute URLs verwenden.
Zum Fehler kann ich leider ohne Fehlermeldung nix sagen ^^
Gruß
|
|
|
|
|
hoplite
Threadersteller
Dabei seit: 12.07.2008
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mi 23.07.2008 10:55
Titel
|
|
|
heyho,
es hat jetzt geklappt mit
<?php
if(isset($_POST['submit'])){
header('Location: '.$_SERVER['PHP_SELF']);
}
?>
danke euch beiden. werd jetzt nochmal ein bisshen dran rumschrauben, bisschen finetuning, aber sieht schon sehr gut aus.
beste grüße, hoplite
Zuletzt bearbeitet von hoplite am Mi 23.07.2008 11:00, insgesamt 1-mal bearbeitet
|
|
|
|
|
|
|
|
Ähnliche Themen |
javascript mit warnmeldung bei IE
Warnmeldung bei nichtspeicherbarem PDF
Warnmeldung erscheint bei Rollover im Browser
Warnmeldung beim Abspeichern für Web: ".. nicht lat. Zeichen
Autostart CD-ROM Warnmeldung "Aktive Inhalte"
Tabellen übereinander - iE bringt Leerraum
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|