PHP-Script- u. Funktion

Seit der Release r282 ist es möglich eine eigene PHP-Funktion zwischen der Aktion “submit” und “dem Versenden der eMail” abzuarbeiten . Diese Funktion kann alle Formulareingaben lesen, viele verändern und für den Sendeprozess zurückgeben. Siehe: PHP-Funktion einbinden

Jedoch werden die geänderten Daten nicht in der Datenbank erfasst, da diese Daten schon vorher zwischengespeichert worden sind. Brauchen wir jedoch diese Möglichkeit, muss auf ein anderes Verfahren zurückgegriffen werden.

Ein einfaches Script im template/inc_script/frontend_init/ -Ordner wird vor dem Formular PHP Funktionsaufruf abgearbeitet.


Die grundsätzlichen Unterschiede zwischen einem normalen /frontend_init/.. -Script und und dem speziellen Script (PHP-Funktion:) welches aus dem Formular heraus angestoßen werden kann:

  • Normales /frontend_init/.. -Script: Alle Eingaben werden in der Variablen $_POST dargestellt. Die Werte stehen also in $_POST['EingabefeldName'] und können verändert werden. (Die Änderungen werden in die DB übernommen.) Es kann ein Rücksprung zur Formulareingabe provoziert werden. Siehe auch: Rechnen im Feld
  • Formular /frontend_init/.. -Script (PHP-Funktion:): Die Eingabevariablen $mail und $postvar werden dargestellt, können jedoch nicht verändert werden. Die Templates “Senden an” und “Kopie senden an” in der Variablen $form werden dargestellt und können verändert werden. (Die Änderungen werden nicht in die DB übernommen.)


Prozessreihenfolge:

  1. Ausliefern des Formulars an den Browser.
  2. Benutzereingabe.
  3. Submit: Empfangen des Formulars mit den Benutzereingaben.
  4. Abarbeiten der /frontend_init/.. -Scripte, z.B. um den Inhalt der Variablen $_POST['FeldName'] zu manipulieren. An dieser Stelle kann ein absichtlicher Fehler produziert werden, indem der Inhalt eines “zwingend”-Felds in $_POST['FeldName'] gelöscht wird.
  5. Zwischenspeichern der Formulardaten für die Datenbank.
  6. Abarbeiten der PHP-Funktion aus dem Formular, die Inhalte der Variablen $mail und $postvar können gelesen, der Inhalt von $form manipuliert werden. (Die Änderungen werden nicht in die DB übernommen.)
  7. Prüfen der Felder die ausgefüllt werden müssen (“zwingend”).
    • Bei Fehler weiter bei Punkt 1. mit Fehlerkennung.
  8. Export der zwischengespeicherten Formulardaten in die DB.
  9. Senden der E-Mail(s).

<note important> Scripte im /frontend_init/ -Ordner sollten mit Überlegung eingesetzt werden, da dies einen frühen Eingriff in den Systemprozess darstellt.
Diese Scripte sollten der Seite gegenüber den zu bearbeitenden Ausschnitt abgrenzen, um Nebeneffekte zu vermeiden. Z.B. mindestens die Kategorie abfragen. </note>




Kleine Linkübersicht

deutsch/phpwcms-system/artikel/contentparts/formular/spezielle-anwendungen/php-script-u-funktion.txt · Last modified: 2018/06/03 18:08 (external edit)
www.planmatrix.de www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0