Jens: automatischer Datenbankeintrag

Hallo zusammen!

Habe folgendes Problem:
ich habe zwei Dateien;
1. Die Datei Auswahl.html enthält drei Eingabefelder (Name,Nummer,Datum) für eine SQL Datenbank, sowie einen Input button "submit".
2. Die Datei Eingabe.php wird mit dem Submit Button aufgerufen und trägt die eingegebenen Werte/ Texte in die Datenbank ein und führt eine if Abfrage durch, ob der Eintrag erfolgreich war. Funktioniert auch wunderbar.
Nun das Problem: Nach dem Eintrag zeigt der Bildschirm das weiße Fenster mit dem Abfrageergebnis (Eintrag erfolgreich). Um dann wieder zur Auswahl.html zurückzukehren und einen neuen Eintrag zu machen, muss ich über den Browser Zurück und das Formular dann aktualisieren.
Gibt es eine Möglichkeit, die Daten eintragen zu lassen, aber weiterhin im Formular der Auswahl.html zu bleiben und die in den Eingabefeldern stehenden Daten zu reseten (quasi soll der Eintrag "unsichtbar" ablaufen)?

Vielen Dank für Euere Hilfe
Jens

  1. Moin,

    Gibt es eine Möglichkeit, die Daten eintragen zu lassen, aber weiterhin im Formular der Auswahl.html zu bleiben und die in den Eingabefeldern stehenden Daten zu reseten (quasi soll der Eintrag "unsichtbar" ablaufen)?

    Warum verlinkst Du nach Aufruf Deiner Datei, die die Werte speichert, nicht wieder zurück zu der Seite mit dem Formular?

    Gruß,
    -Efchen

  2. Hallo Jens,

    das geht ganz einfach. nachdem die Daten in die DB geschrieben sind, gibst Du folgende Zeile an:

    header('Location:Auswahl.html');

    Dann wird die Datei Auswahl.html aufgerufen. Die Felder sind dann natürlich alle wieder leer. Wenn Du die Einträge wieder drin stehen haben möchtest meldest Dich nochmal.

    Viele Grüße

    Wolfgang

    1. Hello,

      das geht ganz einfach. nachdem die Daten in die DB geschrieben sind, gibst Du folgende Zeile an:

      header('Location:Auswahl.html');

      Erstens muss es heißen header('Location: http://domain.tld/Auswahl.html');
                                              ^  ^

      Genau ein leerzeichen nach dem Doppelpunkt und vollständige URL!

      Zweitens ist es "Schmuddelkram" dem Client an dieser Stelle einen ReRequest zuzuschieben, anstatt gleich die passende Response zurückzuliefern.

      Harzliche Grüße aus http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
  3. Hello,

    Gibt es eine Möglichkeit, die Daten eintragen zu lassen, aber weiterhin im Formular der Auswahl.html zu bleiben und die in den Eingabefeldern stehenden Daten zu reseten (quasi soll der Eintrag "unsichtbar" ablaufen)?

    Du solltest für die Planung von Client-Server-Applikationen das Meta-Chart-Verfahren nutzen.

    Mal Dir Deine Eingabebildschirme auf kleine Zettelchen, natürlich nicht in allen Einzelheiten, sondern nur die wesentlichen Elemente. Dann platzierst Du die an Deiner Pinwand und schreibst auf weitere Zettelchen, was denn von einem zum anderen Bildschirm auf dem Server passieren soll.

    Wenn jeder Button (Event) eines Bildschirms mit einem Zettelchen vom Server verbunden ist und dieser für jede Möglichkeit wieder auf einen Bildschirm zeigt, dann bist Du schon fast fertig. Nun sammelst Du alle Bildschirmchen, die ähnlich aussehen ein, und fasst sie zusammen zu einem Formular, das mittels Parametern dann seine Varianten einstellt.

    So wächst nach und nach eine wunderschöne Applikation heran.

    Als erste Programmierübung solltest Du Dich mit dem "Affenformular" beschäftigen. Was das ist, findest du im Archiv. Außerdem schau Dir einfach mal das Beispiel für zyklischen Formularaufruf unter http://selfhtml.bitworks.de an.

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
  4. Also, ich mach das immer so, dass ich das Formular und das Script zum Eintragen in der selben PHP-Datei habe, die sich immer wieder selbst aufruft. Dann fragst du mit if einfach ab, ob der Submit-Button gedrückt wurde, wenn ja, wird der Eintrag in die Datenbank eingetragen und sofort wieder das Formular angezeigt, bzw. die schon eingetragenen Daten oder wasduwillst.

    Viele Grüsse
    Peter

    1. Hello,

      Also, ich mach das immer so, dass ich das Formular und das Script zum Eintragen in der selben PHP-Datei habe, die sich immer wieder selbst aufruft. Dann fragst du mit if einfach ab, ob der Submit-Button gedrückt wurde, wenn ja, wird der Eintrag in die Datenbank eingetragen und sofort wieder das Formular angezeigt, bzw. die schon eingetragenen Daten oder wasduwillst.

      Vielleicht sollte man besser sagen: ...welcher Submit-Button gedrückt wurde, und wählst danach die passende Funktion des Scriptes aus...

      Man kann ja mehrere Submit-Buttons in einem Formular vereinbaren und darüber wunderschön Entscheidungen treffen: Anzeigen, Vorwärts, Rückwärts, Ändern, Neu, Löschen, usw.

      Harzliche Grüße aus http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau