Einbinden externer php-Dateien

Mit der Funktion require wird ein anderes PHP-Skript geladen und ausgeführt. Das aufgerufene Skript verhält sich dabei ebenso, wie wenn der Code direkt an dieser Stelle stehen würde. Diese Datei kann auch (bzw. nur) Text bzw. HTML-Tags enthalten; bloßer Text wird einfach ausgegeben, HTML-Tags werden vom Browser interpretiert.

Mit dem Befehl

require("lib.php");

wird die Datei „lib.php“ an dieser Stelle in die aktuelle PHp Dateil eingebunden - wenn die Datei lib.php nicht gefunden wird, bricht das Skript ab.

Insbesondere stehen alle Funktionen, die in der Datei lib.php definiert wurden in der Datei zur Verfügung, in der sie eingebunden wurde. Auf diese Weise kann man sich eine eigene „Funktionsbibliothek“ erzeugen: Funktionen, die man immer wieder benötigt legt man ein der Datei „lib.php“ ab und kann diese dann in allen neuen Projekten nutzen.

Übung 1

Lege dir eine eigene Datei lib.php an. Die Datei sollte eine Funktion zur Berechnung der Fakultaet enthalten. Binde die Datei in eine weitere PHp-Datei ein und nutze die Fakultaets-Funktion dort.

Übung 2

Füge deiner Funktionsbibliothek eine Funktion hinzu, die ein Formular mit einem Textfeld erzeugt. Implementiere die Funktion so, dass sie als Argument den Namen der Post-Variablen entgegennimmt.

Folgendes Codebeispiel soll funktionieren:

forumlar_1text('zahl'); print $_POST['zahl'];

Hinweis: Die Variable $SERVER['PHP_SELF'] beinhaltet stets den Namen des aktuellen Skripts, wenn man action=$_SERVER['PHP_SELF'] für das Formular setzt, wird immer das richtige Skript aufgerufen.

Übung 3

Erweitere deine Funktion aus Beispiel zwei so, dass man mehrere Texteingabefelder erhält. Die Übergabe der Feldnamen soll als Array erfolgen:

$felder = array('zahl', 'name', farbe') formular_multitext($felder); print $_POST['zahl']; print $_POST['name']; print $_POST['farbe'];

Übung 4

Schreibe eine Funktion easyinput, die als Argument ein Array mit Variablennamen entgegennimmt und als Ergebnis die POST-Werte liefert.

$felder = array('zahl', 'name', farbe') list($eingabe_zahl, $eingabe_name, $eingabe_farbe) = easyinput($felder);