Hallo zusammen,habe ein Formular gebaut, welches an sich selbst eingegebene Daten posted.
Wenn ich nach der Eingabe der Daten diese per Submit absende, werden diese auch sofort und einwandfrei in die Datenbank eingetragen.
Allerdings sehe ich direkt nach dem Absenden (input type=submit) der Seite den gleichen Datensatz von vorher.
In der DB selbst steht schon der aktuelle Wert, nur in meinem jetzt wiederholt angezeigtem Formularfeld noch der alte Wert, obwohl im Script die DB erneut ausgelesen wird.
Klick ich nochmal auf submit ist alles i.O.. Wieso zeight er das nicht beim ersten Klick?
Kann mir jemand sagen wie ich dieses Problem beheben könnte?
Tausend Dank!
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
Was passiert denn zuerst: Das Auslesen der Datenbank oder das Schreiben des neuen Eintrags?
Also, die Variable für den Datensatz kommt von einer vorigen Datei, wird hier also übergeben, das ist ok.
Dann bleibe ich in der selben Datei, lese die DB aus, gebe dem input-Feld type=text den gleichen Namen (plz), und sause damit direkt weiter unten zum update. Am Ende steht das submit, also Seite neu laden.
Es müsste doch jede Änderung beim Durchlauf der Datei sofort sichtbar werden? Denke ich zumindest, weil das Script ja oben wie vorher wieder die DB neu ausliest. Nur die Datensatz-Nr. bleibt bei jedem Durchlauf dank hidden erhalten, das funktioniert ja auch alles. Ich muss nur 2x submitten. Denkfehler? Danke schon mal...
Ich habe es geschafft, eigentlich ganz einfach, aber erklären kann ich mir das Problem wie oben beschrieben trotzdem nicht. Wieso gibt das Formular nicht den aktuellen Wert aus der DB aus, wenn er doch schon drin steht?
Und so erst mal meine Lösung:
Ich habe 2 submit-Button: Aktualisieren und Absenden.
Ich habe oben den submit-Namen abgefangen, also WENN im submit ABSENDEN steht, überspringe bis unten die Scriptzeilen. Es entsteht ein leeres Bild, in dem ich nur noch einen riesengroßen neuen ZURÜCK- href darstelle, der mit einem Klick die gleiche Datei wieder aufruft. Klappt auch gut, da ich dem a href direkt die Datensatz-Nr. mit anhänge, also listet der neue Klick die Seite neu auf. Einfach, aber für mich nachvollziehbar (PHP-Nicht-Profi). Sicherlich hat jemand eine elegantere Lösung, da wär ich neugierig.
Und warum ging das nicht ohne Umweg (siehe oben)? Verstehen würde ich das schon gerne...
Irgendwie werde ich aus Deiner Beschreibung nicht schlau. Da bräuchte es nun wirklich keinen komplizierten "Algorithmus"...
Ohne das Script gesehen zu haben kann man da nicht mehr zu sagen.