Logo

Standardisiertes PHP Formular Designpattern entwickeln


Die Formularverarbeitung durch PHP ist der beliebteste Standard im Web. Nutzen Sie ein intelligentes Design, können Sie sich viel Arbeit und Stress ersparen.

USB C zu USB C Adapter Kabel

USB C zu USB C Adapter Kabel - ⚡ 60W Schnellladen & Datenübertragung Synchronisation ⚡ USB-C-zu-USB-C Kabel mit integriertem 56-Ω-Pull-up-Widerstand und 22 AWG dicken Kupferkernen, die Ladesicherheit zu gewährleisten. Hinweis

kaufen...
Automad Bludit Coast GetSimple GRAV Handlebars Java PHP Pico Smarty Templating Typemill WonderCMS WordPress yamlCMS

Es schreibt Ihnen niemand vor, moderne PHP-Scripte objektorientiert oder prozedural zu erstellen. Gerade die Formularverarbeitung durch PHP ist dessen große Stärke. Dieser Beitrag zeigt Ihnen ein Designpattern, wie Sie komplexe Formulare strukturieren, bzw. wie GET und POST gleichsam sinnvoll nutzen können. Wenn Sie dieses Pattern auf alle Formulare anwenden, behalten Sie garantiert den Überblick (ich spreche aus Erfahrung). Das Pattern

Im folgenden Abschnitt sehen Sie das Pattern in einer verkürzten Sprachweise, die die wichtigen Komponenten des Formulars skizzieren soll.

002  if (isset($_GET["form-laden"])) {
003      if (isset($_POST["btn-ok"])) {
004
005          $_POST["attribut"]
006          $_POST["attribut"]
007      }
008      if (isset($_POST["btn-cancel"])) {
009
010          $_POST["attribut"]
011          $_POST["attribut"]
012      }
013  } 
014
015  elseif (isset($_GET["form-speichern"])) {
016      if (isset($_POST["btn-ok"])) {
017
018          $_POST["attribut"]
019          $_POST["attribut"]
020      }
021      if (isset($_POST["btn-cancel"])) {
022
023          $_POST["attribut"]
024          $_POST["attribut"]
025      }
026  }
027  else {
028
029      <form action='programm-xyz.php?form-laden' method='POST'>
030
031          <input attribut>
032          <input attribut>
033
034          <button type='submit' name='btn-ok'     >Ok    </button>";
035          <button type='submit' name='btn-cancel' >Cancel</button>";
036      </form>
037
038      <form action='programm-xyz.php?form-speichern' method='POST'>
039
040          <input attribut>
041          <input attribut>
042 
043          <button type='submit' name='btn-ok'     >Ok    </button>";
044          <button type='submit' name='btn-cancel' >Cancel</button>";
045      </form>
046
047  }

Schauen Sie sich im PHP-Pattern bitte zunächst die blau markierten IF in Zeile 2 und 15 an. Diese beiden Strukturen verarbeiten, von welchem Formular der Aufruf kommt, denn Sie können durchaus mehrere haben. Dazu korrespondieren die beiden Formulare in den Zeilen 29 und 38, die ihren submit mittels GET an das PHP-Script senden.

Sind Sie nun in der Verarbeitung des entsprechenden Formulars angelangt, können Sie via POST auswerten, von welchem Button der Event stammt. Auf diese Weise können Sie unterschiedliche Button-Reaktionen im Script verarbeiten. Die in rot gekennzeichneten Zeilen 3, 8, 16, 34, 35, 43 und 44 stellen die dedizierte Verarbeitung eines Buttons dar. Vergessen Sie dieses Pattern

Im Internet finden Sie in vielen Tutorials das folgende Pattern, das sich zum quasi-Standard erhoben hat - das sollten Sie jedoch sehr schnell vergessen, da es ganz großer Unsinn ist. Mit diesem Design geraten Sie sehr schnell in die Sackgasse.

002  if ($_GET["form-laden"] == "Option1") {
003
004      $_POST["attribut"]
005      $_POST["attribut"]
006        
007  } 
008
009  else {
010
011      <form action='programm-xyz.php?form-laden=Option1' method='POST'>
012
013          <input attribut>
014          <input attribut>
015
016          <button type='submit' name='btn-ok'     >Ok    </button>";
017          <button type='submit' name='btn-cancel' >Cancel</button>";
018      </form>
019
020  }

Den Codeschnipsel oben können Sie zu 99,9% in vielen PHP Tutorials finden. Zwar ist es programmatisch absolut korrekt, jedoch ist das Code-Design extrem einfach gehalten und in Folge dessen ist Ihnen nur die Entwicklung sehr simpler PHP-Formulare möglich. Regel

Versuchen Sie sich beispielsweise an die folgende Designregel zu halten und Sie entwickeln leicht wartbaren Code der komplexe PHP-Formulare ermöglichen kann.

Praxistipp: Erstellen Sie Ihre PHP-Formulare derart, das diese auch eigenständig lauffähig sind, erst wenn dies der Fall ist, können Sie die PHP-Formulare in einen Workflow oder Prozess einbinden. Denn Sie sollten bedenken, das sich diese Prozesse und die Aufrufreihenfolge Ihrer Scripte, gerade am Beginn eines Projektes sehr häufig ändern können, daher ist es wichtig eine solide PHP-Basis-Struktur zu entwickeln, die modular und leicht umstellbar ist - erst dann sollten Sie an die Optimierung gehen.

Es steht Ihnen natürlich frei einen eigenen Standard für Ihre Scripte zu entwickeln. Ich möchte Ihnen dennoch ans Herz legen, Ihre Programme namentlich bestimmten Funktionseinheiten zu zuordnen, Sie behalten dadurch den Überblick und wissen daher schon vom Namen des Programmes welche Funktion es hat.

Passend:


Ein eigenes Theme für Bludit CMS leicht entwickeln

So steuern Sie die Templatevorgabe in Beiträgen mit dem CMS Bludit. Sie können den Tamplatenamen bei der Erstellung von Beiträgen im Backend angeben.

Templating 3 ein einfaches Layout für das CMS GetSimple anlegen

Teil 3 - Ein GetSimple Template erstellen. In Verbindung mit dem freien und beliebten CSS-Framework Bootstrap eine leichte Sache auf dem Weg zum eigenen Blog.

Designpattern für ein übersichtliches und flexibles CMS Theme

Mit diesem Design Pattern schreiben Sie gute Themes die Sie auch noch in vielen Jahren weiter Ausbauen können. Erzeugen Sie einfache modulare Komponenten.

Styleguide für Webseiten - das sind die Standards

Möchten Sie Themes, Layouts und Designs erstellen die auf hohe Akzeptanz beim Besucher stoßen, dann sollten Sie sich zuvor diesen Styleguide durchlesen.

Anleser im Bludit CMS Template DEVTHEME einstellen

Stellen Sie den Anleser des Beitrags im Bludit Template DEVTHEME individuell ein, indem Sie die Anzahl anzuzeigender Zeichen mit einem PHP Befehl begrenzen.

Das Feld TEMPLATE in den Beitragseinstellungen des CMS Bludit

So können Sie das freie Feld TEMPLATE in den Beitragseinstellungen verwenden. Fragen Sie es mit dem folgenden Coding des Beitrags ab und steuern das Templating

Steuern Sie die Art des anzuzeigenden Bludit Templates

Mit diesem Coding können Sie verschiedene Templates starten, jenachdem ob der Leser eine Seite, Kategorie, home oder Tag wählt. Bludit kennt vier Seiten-Typen

Templating, funktionfähiges Template für das CMS GetSimple

Teil 1 - Der Einstieg in das Templating mit dem freien CMS GetSimple - der Name ist Programm, denn dieses CMS ist klar und leicht beherrschbar strukturiert.

Democode und Beispieltemplate für Handlebars in JavaScript

Dieser Beitrag zeigt ein einfaches Demo Template für die JavaScript basierte Template Engine Handlebars. Dieses Template ist sogar offline funktionsfähig.

Welchen Sinn machen JavaScript Template Engines heutzutage?

Man darf sich durchaus fragen welchen Sinn Template-Engines in JavaScript machen, da diejenigen User zunehmen, die das JavaScript im Browser deaktivieren.

Ein Heredoc-Parser und Mini CMS mit PHP zum Templating erstellt

Dieser Beitrag zeigt einen Heredoc Template Parser und mini CMS, erstellt in PHP, unter Nutzung der Heredoc-Syntax. Content, Template und Parser in einer Datei.

Die kleinste PHP Template-Engine und kleinstes CMS der Welt

Das ist die kleinste PHP Template-Engine, bzw. das kleinste PHP-CMS der Welt, erstellt mit der Programmiersprache PHP und 7 Zeilen Code.

Kleinster PHP Template Parser mit Heredoc Syntax der Welt

Das ist die kleinste PHP-Template-Engine bzw der kleinste Template-Parser in PHP, der mit Heredoc Syntax arbeitet. Die Heredoc Syntax ist ideal für kleine Prototypen.

Affiliate Links mit YAML und TWIG für Pico CMS ohne Plugin

Zufällige Affiliate-Links auch ohne externe Plugins mit Hilfe von YAML und der Templatesprache Twig in Pico CMS realisieren, das ist sogar wirklich sehr einfach.

Affiliate Links mit YAML und TWIG für Pico CMS ohne Plugin

Zufällige Affiliate-Links auch ohne externe Plugins mit Hilfe von YAML und der Templatesprache Twig in Pico CMS realisieren, das ist sogar wirklich sehr einfach.

Teil 7 eigene Templateabfragen in Smarty Template Engine

Möchten Sie in Smarty Templates Bedingungen abfragen, dann können Sie den IF Befehl des Smarty Parsers nutzen, um die Ausgabe des Templates zu steuern.

Mit einem HTML-Template beginnen - Templating Tipps

Erarbeiten Sie als Prototypen ein reines HTML-Template das Ihnen zusagt. HTML-Templates sind schneller entwickelt und müssen weniger Restriktionen einhalten.

Die richtige Wahl der Templatesprache Templating Tipps

In welcher Schreibweise sollten Sie CMS Templates erstellen? Gemischt HTML und PHP oder doch lieber waschechtes PHP? Dieser Beitrag erleichtert den Einstieg.

Werden Sie Template-Entwickler so starten Sie Templating Tipps

Werden Sie zum Template-Entwickler und beginnen mit leichten Arbeiten, portieren Sie Ihre Templates später in die großen CMS wie WordPress, Bludit oder Joomla

Ein neues Datenbanfeld für WonderCMS in der json-DB anlegen

Mit diesem Trick legen Sie neue Datenbank-Felder in der JSON-Datenbank des WonderCMS vollkommen automatisiert an - mit nur einer Codezeile im WonderCMS Theme.

th3_alpha.php im WordPress CMS Log und die Beudeutung

Das WordPress Plugin steht im Verdacht Malware zu enthalten. In unterschiedlichen Foren im Netzt sind dazu widersprüchliche Infos zu finden - es ist abzuwarten


Meta: Instagram CMSWorkbench.de GIMP-Handbuch.de Kontakt Impressum Datenschutz