formmail: php-skript und history
henry
- php
hallo
ich habe ein kontaktformular das via php-skript ein mail verschickt. (action = "skript.php")nun habe ich bemerkt, dass das php-skript in der browserhistory auftaucht. wird es via history aufgerufen verursacht es dank der formular-validierung zum glück einen fehler und wird nicht ausgeführt. als user erwarte ich von einem history-eintrag aber das anzeigen einer bereits aufgerufenen seite und keine fehlermeldung …
kennt da jemand eine lösung?
henry
Hallo
ich habe ein kontaktformular das via php-skript ein mail verschickt. (action = "skript.php")nun habe ich bemerkt, dass das php-skript in der browserhistory auftaucht.
Logisch, es ist eine bereits aufgerufene Seite, wie jede andere auch.
wird es via history aufgerufen verursacht es dank der formular-validierung zum glück einen fehler und wird nicht ausgeführt. als user erwarte ich von einem history-eintrag aber das anzeigen einer bereits aufgerufenen seite und keine fehlermeldung …
Wie gesagt, es wurde aufgerufen. Es ist Aufgabe des Skripts, eine solche Fehlbedienung abzufangen. Ob dann anstatt der Fehlermeldung eine Hinweisseite angezeigt wird oder du eine Weiterleitung (wohin auch immer) greifen lässt, musst du entscheiden und in das Skript implementieren.
Tschö, Auge
hallo auge
Logisch, es ist eine bereits aufgerufene Seite, wie jede andere auch.
– da bin ich nicht gleicher meinung. die history sollte doch jene seiten aufzeigen, die der user angezeigt bekommen hat. das php-skript wird aber im hintergrund ausgeführt, dem user sollte das verborgen bleiben.
das klicken auf den "back"-button sollte keine fehlmanipulation sein!
übrigens habe ich bemerkt, dass das problem offenbar nur im safari auftaucht. im firefox wird das php-skript nicht in der browser-history aufgelistet.
greez
henry
Hallo
Logisch, es ist eine bereits aufgerufene Seite, wie jede andere auch.
– da bin ich nicht gleicher meinung. die history sollte doch jene seiten aufzeigen, die der user angezeigt bekommen hat.
Nein, in der History stehen die Seiten, die der Benutzer aufgerufen/angefordert hat und der Benutzer ruft das Skript mit dem Abschicken des Formulars auf, da das Skript das Ziel des action-Attributs ist.
das php-skript wird aber im hintergrund ausgeführt, dem user sollte das verborgen bleiben.
Es wurde aber angefordert. Wie gesagt, es ist deine/des Programmierers Aufgabe, darauf zu reagieren. Günstig wäre, das Formular als Affenformular auszuführen, also Formular und Verarbeitung in *einem* Skript, und bei der Verarbeitung Sorge dafür zu tragen, dass keine doppelte Verarbeitung auftritt. Dazu sollte dem Formular ein eindeutiger Wert mitgegeben wird, der mitverarbeitet und gespeichert wird. Bei erneutem Absenden des Formulars, z.B. durch das Zurückgehen in der Browserhistorie, wird auch dieser Wert erneut gesendet und dabei festgestellt, dass der eindeutige Wert bereits existiert. Jetzt könnte ein Hinweis oder das Formular wie beim Neuaufruf ausgegeben werden.
Tschö, Auge
Hallo auge
vielen dank für den tipp mit dem "affenformular"! - ich werde das so lösen. mein formular ist in einem dynamisch generierten "iframe" drin. durch aufrufen der history seite wird die php seite alleine aufgerufen, so geht das restliche design verloren. damit muss ich wohl leben. (bei firefox ists ja perfekt...)
greez
henry