Hallo,
(längere Erklärung des Problems muss sein, da ich es nicht kürzer erklären kann)
ich habe ein ziemlich verzwicktes Problem mit dem Refreshbutton des IExplorers. Vorweg: Ich weiss das man ihn nicht abfragen kann wegen serverseitigem arbeiten von php.
Nun zu meinem Problem:
Ich habe ein Formular mit 3 Eingabefeldern (Bezieht sich auf eine Oracle9iR2 Tabelle). Dort können Aenderungen vom Benutzer vorgenommen und in einer Datenbank abgespeichert werden.
Jetzt will ich folgendes verwirklichen: Wenn der Benuzter eine Aenderung vornimmt und vergisst diese abzuspeichern, dann soll er genau 1 Mal daran "erinnert werden". Das funzt auch alles einwandfrei.
Folgendermassen habe ich das verwirklicht:
Wenn der Benutzer nun über den Record der Maske "blättert", dann wird immer die nächste etc Zeile der DB in die Maske eingelesen. Zudem speichere ich mir die Werte der Query die aktuell angezeigt werden in einem Array namens Query_Werte_zum_Vergleich ab. Der Record und Save funzt alles über "Submit" Buttons. übertragen wird das Formular mit $_POST.
Zu Begin des Skriptes frage ich immer ab ob die einzelnen Felder des POST Arrays = den Feldern des Query_Werte_zum_Vergleich Arrays sind. Gibt es unterschiede dann kommt wie gesagt die Fehlermeldung.
So wie ich das nun umgesetzt habe passiert folgendes beim Aufruf des Skriptes:
1 Aufruf: Zu Begin:$_POST Array leer, Query_Werte_zum_Vergleich Array
leer. Gegen ende des Skriptes wird Query_Werte_zum_Vergleich
Array aber gefüllt mit Query Werten.
2-n ter Aufruf: zu_Begin: $POST Array enhält werte und
Query_Werte_zum_Vergleich enhält auch die
entsprechenden Werte der Query. Gegen ende des Skriptes
werden aber schon die neuen Werte der Query in das array
Query_Werte_zum_Vergleich eingelesen.
Wie gesagt. Das alles funzt einwandfrei. Bis der Refreshbutton des Internetexplorers gedrückt wird. Denn dann enhällt das Query_Werte_zum_Vergleich Array schon die nächten Werte, aber Das Formular wird nicht (wie bei einem Submit-Button) abgeschickt. Somit enthällt $_POST noch die alten Werte. Folglich kommt die Meldung das eine Aenderung stattgefunden hat, aufgrund der unterschiedlichen Werte in den Arrays.
Hoffe man konnte man Problem verstehen, aber es ist wirklich nicht einfach zu beschreiben. Hänge schon eine lange Zeit daran, aber ich weis nicht wie ich das lösen kann.
Danke für Tipps
(längere Erklärung des Problems muss sein, da ich es nicht kürzer erklären kann)
ich habe ein ziemlich verzwicktes Problem mit dem Refreshbutton des IExplorers. Vorweg: Ich weiss das man ihn nicht abfragen kann wegen serverseitigem arbeiten von php.
Nun zu meinem Problem:
Ich habe ein Formular mit 3 Eingabefeldern (Bezieht sich auf eine Oracle9iR2 Tabelle). Dort können Aenderungen vom Benutzer vorgenommen und in einer Datenbank abgespeichert werden.
Jetzt will ich folgendes verwirklichen: Wenn der Benuzter eine Aenderung vornimmt und vergisst diese abzuspeichern, dann soll er genau 1 Mal daran "erinnert werden". Das funzt auch alles einwandfrei.
Folgendermassen habe ich das verwirklicht:
Wenn der Benutzer nun über den Record der Maske "blättert", dann wird immer die nächste etc Zeile der DB in die Maske eingelesen. Zudem speichere ich mir die Werte der Query die aktuell angezeigt werden in einem Array namens Query_Werte_zum_Vergleich ab. Der Record und Save funzt alles über "Submit" Buttons. übertragen wird das Formular mit $_POST.
Zu Begin des Skriptes frage ich immer ab ob die einzelnen Felder des POST Arrays = den Feldern des Query_Werte_zum_Vergleich Arrays sind. Gibt es unterschiede dann kommt wie gesagt die Fehlermeldung.
So wie ich das nun umgesetzt habe passiert folgendes beim Aufruf des Skriptes:
1 Aufruf: Zu Begin:$_POST Array leer, Query_Werte_zum_Vergleich Array
leer. Gegen ende des Skriptes wird Query_Werte_zum_Vergleich
Array aber gefüllt mit Query Werten.
2-n ter Aufruf: zu_Begin: $POST Array enhält werte und
Query_Werte_zum_Vergleich enhält auch die
entsprechenden Werte der Query. Gegen ende des Skriptes
werden aber schon die neuen Werte der Query in das array
Query_Werte_zum_Vergleich eingelesen.
Wie gesagt. Das alles funzt einwandfrei. Bis der Refreshbutton des Internetexplorers gedrückt wird. Denn dann enhällt das Query_Werte_zum_Vergleich Array schon die nächten Werte, aber Das Formular wird nicht (wie bei einem Submit-Button) abgeschickt. Somit enthällt $_POST noch die alten Werte. Folglich kommt die Meldung das eine Aenderung stattgefunden hat, aufgrund der unterschiedlichen Werte in den Arrays.
Hoffe man konnte man Problem verstehen, aber es ist wirklich nicht einfach zu beschreiben. Hänge schon eine lange Zeit daran, aber ich weis nicht wie ich das lösen kann.
Danke für Tipps
Kommentar