PHP-Funktionen mit POST-Formularen kombinieren
Funktionen aufrufen
Du setzt Funktionen mit verschiedenen Parametern ein
Formulare verarbeiten
Du kombinierst POST-Daten mit PHP-Funktionen
Datenvalidierung
Du pruefst Eingaben und gibst aussagekraeftige Ausgaben
Erstelle für jede Aufgabe eine eigene .php-Datei in deinem lokalen XAMPP-Ordner (htdocs/). Die Datei verarbeitet sowohl das Formular als auch die PHP-Logik – du brauchst also nur eine Datei pro Aufgabe. Öffne sie im Browser über http://localhost/deineDatei.php.
Bei allen Aufgaben verwenden wir das Self-Processing-Muster: Die PHP-Datei sendet das Formular an sich selbst (action=""). Am Anfang der Datei prüfen wir, ob Daten per POST angekommen sind – wenn ja, rufen wir unsere Funktion auf.
Sicherheit nicht vergessen!
Jede Benutzereingabe aus $_POST muss mit htmlspecialchars() abgesichert werden, bevor sie ausgegeben wird.
Erstelle eine Datei aufgabe1.php mit einem Formular und einer PHP-Funktion.
begruessung($name, $titel = "Hallo"), die einen Begrüßungstext als String zurückgibt (nicht direkt ausgibt).return statt echo in der Funktion – so kannst du das Ergebnis in einer Variable speichern und es erst im HTML-Teil ausgeben.
Prüfe mit !empty(), ob das Titel-Feld tatsächlich ausgefüllt wurde, bevor du es an die Funktion übergibst.
Der Standardwert $titel = "Hallo" greift automatisch, wenn beim Aufruf kein zweites Argument übergeben wird. Das ist ein Schlüsselprinzip von Funktionen mit Default-Parametern.
Erstelle eine Datei aufgabe2.php für einen Online-Rabattrechner.
berechneRabatt($preis, $rabattProzent = 10).floatval() – wandelt in Kommazahl umnumber_format($zahl, 2) – rundet auf 2 Stellenis_numeric() – prüft ob ein Wert eine Zahl istOriginalpreis: 49,99 €
Rabatt (10 %): 5,00 €
Endpreis: 44,99 €
floatval() wandelt die POST-Eingabe (immer ein String!) sicher in eine Kommazahl um. Ohne diese Umwandlung würde PHP beim Rechnen mit dem rohen String arbeiten – das kann zu unerwarteten Ergebnissen führen.
Erstelle eine Datei aufgabe3.php mit einem Kontaktformular, das Eingaben mithilfe von Funktionen prüft.
validiereEmail($email), die true zurückgibt wenn die E-Mail-Adresse gültig ist, sonst false. Nutze dafür PHPs eingebaute Funktion filter_var().validiereText($text, $minLen = 3), die prüft, ob ein Text mindestens $minLen Zeichen lang ist.true zurückgeben, zeige eine Erfolgsmeldung. Gibt eine Funktion false zurück, zeige eine passende Fehlermeldung pro Feld.filter_var():
filter_var($email, FILTER_VALIDATE_EMAIL) gibt die E-Mail-Adresse zurück, wenn sie gültig ist – oder false wenn nicht. Damit lässt sich direkt in einer if-Bedingung prüfen.
mb_strlen() statt strlen(): Bei deutschen Sonderzeichen (ä, ö, ü) zählt strlen() Bytes statt Zeichen. mb_strlen() zählt korrekt nach Zeichen (Multibyte-Strings).
Erstelle eine Datei aufgabe4.php – einen einfachen Taschenrechner mit Funktionen und POST.
rechne($zahl1, $zahl2, $operation), die je nach Operation addiert (+), subtrahiert (-), multipliziert (*) oder dividiert (/) und das Ergebnis zurückgibt.<select>-Dropdown für die Operation.if/elseif oder mit switch?value="<?= ... ?>")Sicherheits-Pattern: Whitelist
Der $_POST['op']-Wert wird per in_array() gegen eine Whitelist der erlaubten Operationen geprüft. Niemals direkt Benutzereingaben als Operatoren verwenden – das könnte zu Code-Injection führen.
Dynamische Webseiten 2 | eduhigh.net | Seminarunterlagen