PHP

Einführung in PHP

Im 3. Semester haben wir uns in der Vorlesung mit der Erstellung von Webseiten mittels HTML und CSS beschäftigt. Neben den beiden gibt es eine sehr beliebte Skriptsprache PHP, die hauptsächlich zur Erstellung dynamischer Webseiten oder Webanwendungen verwendet wird. PHP (PHP: Hypertext Preprocessor, ursprünglich Personal Home Page-Tools) ist mit Abstand die am häufigsten auf Webseiten verwendete serverseitige Programmiersprache. Mithilfe von PHP kann der Webserver HTML-Seiten dynamisch generieren.

PHP macht Webseiten lebendig

Wie die Abbildung skizziert, wird der HTML-Code mittels PHP manipuliert und auf dem Webserver gespeichert. Der Webserver liefert die HTML-Seiten dann an den Client-Webbrowser, der die gewöhnlichen HTML-Dokumente erhält und nichts von der Manipulation weiß.

Als Beispiel für den Einsatz von PHP stellen wir uns ein Formular vor. Das Formular wurde mittels HTML und CSS erstellt und bietet Nutzern die Möglichkeit, Informationen in entsprechende Felder zu tippen, oder vorgefertigte Antworten auszuwählen. Die Formulardaten sollen nach Abschluss entsprechend an den Webseiteninhaber per E-Mail übermittelt werden. Hierbei entsteht jedoch das Problem, dass das HTML-Formular nicht weiß, wie man E-Mails versendet. Deshalb kann der Benutzer der Webseite durch das Klicken des Abschlussbuttons die Information nicht im Hintergrund an den Webseiteninhaber schicken lassen, sondern muss diese eigenhändig per E-Mail versenden. Somit muss die Auslieferung des Webformulars selbst gesteuert werden. Hierzu wird PHP benötigt. Die Formulardaten sollen in eine E-Mail verpackt werden und dafür sorgen, dass diese entsprechend verschickt werden. Die Browser-Software, auf der das Formular ausgefüllt und verarbeitet wird, läuft auf dem Client. Die Webseite mit dem entsprechenden Formular kommt vom Webserver.

Nun fordert der Browser die Webseite mit dem Formular an. Der Server liefert den HTML-Code für die Webseite. Das Formular wird entsprechend von dem Benutzer ausgefüllt und abgeschickt. Der Browser ruft jedoch nun das E-Mail-Programm des Benutzer auf, um eine E-Mail zu erstellen. Das E-Mail-Programm erstellt eine E-Mail mit den Formulardaten. Das eigentliche Versenden bleibt die Aufgabe des Benutzers. Die Rolle des Servers ist darauf beschränkt, die Webseite an den Browser zu liefern. Wie oben erwähnt, wird PHP benötigt, um die Formulardaten zu verarbeiten. Den selben Vorgang starten wir nun genauso wie davor. Der Browser fordert die Webseite an und der Server liefert den entsprechenden HTML-Code für die Webseite. Nun füllt der Benutzer das Formular aus und schickt es ab. Anstelle des E-Mail-Programms werden die Formulardaten nun an ein PHP-Skript auf dem Server übergeben. Das PHP-Skript generiert eine HTML-Bestätigungsseite und schickt die Formulardaten per E-Mail an den Webseiteninhaber. Der Server nimmt die generierte HTML-Bestätigungsseite und schickt diese abschließend an den Browser.

PHP-Skripte enthalten meist HTML-, CSS- und PHP-Code und werden auf dem Server gespeichert. Die Dateinamen enden üblicherweise .php. Die PHP-Codestücke eines PHP-Skriptes werden auf dem Server verarbeitet und anschließend an der Stelle im Dokument eingefügt, an der sich der PHP-Code befand. Der HTML-Code wird unverändert übernommen. Abschließend landet das Dokument dann beim Client als reines HTML und CSS-Dokument. Der Inhalt des Dokuments wird dynamisch erstellt und als Ausgabe mit HTML-Struktur auf der Webseite ausgegeben. PHP-Skripte werden also letztendlich in HTML und CSS überführt, wenn die Ausführung beim Server abgeschlossen ist. PHP-Code fängt ähnlich wie HTML-Code mit einem PHP-Tag an (<?php). Die Verknüpfung von PHP- mit dem Formular wird über das action-Attribut durchgeführt:

<form action = “meldung.php“ method = “post“>

Wird nun eine Aktion vorgenommen, sprich ein Button gedrückt, dann wird auf dem Server das Skript meldung.php ausgeführt und die Formulardaten entsprechend verarbeitet. PHP-Skripte müssen jedoch auf einem Webserver ausgeführt werden. Neben den anderen Dateien (wie HTML und CSS-Dateien) befindet sich das PHP-Skript ebenfalls im Verzeichnis des Webservers. Es reicht nicht nur alleine aus, die Datei auf dem Webserver abzuspeichern, sondern PHP muss zusätzlich noch auf dem Webserver installiert sein.

Abschließend muss ebenfalls sichergestellt werden, dass die Daten der Formulare per E-Mail verschickt werden.


PHP-Programmierregeln

  • Der PHP-Code wird wie folgt abgegrenzt: <?php und ?>
  • Jede PHP-Anwendung muss mit einem Semikolon (;) enden
  • Die Dateinamenserweiterung muss .php tragen, wenn eine Webseite PHP-Code enthält
  • Variablennamen in PHP-Skripten
    • Die Namen von PHP-Variablen müssen mit einem Dollarzeichen ($) beginnen
    • Ein Variablenname muss mindestens ein Zeichen lang sein
    • Erstes Zeichen nach dem Dollarzeichen kann ein Buchstabe oder ein Unterstrich (_) sein
    • Leerzeichen und andere Sonderzeichen sind nicht erlaubt
  • Arrays
    • $arrayname = array(wert1, wert2, ..); definiert ein neues Array
    • $arrayname[0] greift auf den ersten Arraywert zu (d. h. wert1)

Variablen in PHP

PHP-Variablen dienen als Speicherbehälter in denen Informationen gespeichert werden. Die Zuweisung erfolgt über den Zuweisungsoperator. PHP unterstützt die gängigen Vergleichsoperatoren, die auch in Java benutzt werden. Sie haben keinen festen Typ (dynamische Typisierung). Ebenfalls gibt es eine globale Variable namens $_POST. Diese enthält alle in das Formular eingegeben Daten. Die Variable ist unmittelbar mit der Formularübermittlungsmethode verknüpft, die vom HTML-Formular verwendet wird. Es handelt sich bei diesem Speicherbehälter um einen Array, dass eine Sammlung von Daten unter einem einzigen Namen speichert. Jedes Element im Array entspricht den Daten eines Formularfelds.


HTML-Bestätigungsseite

Wie oben erwähnt, verschickt der Server eine HTML-Bestätigungsseite an den Client, nachdem das PHP-Skript ausgeführt worden ist. Die Bestätigungsseite soll ebenfalls Informationen aus den Eingabedaten aus unserem Formular enthalten. Dafür müssen wir ebenfalls PHP-Code verwenden, der anschließend die Informationen generiert und als zugewiesene Bestätigungsseite dem Benutzer mit seinen entsprechenden Angaben zugewiesen wird.


E-Mail mit Formulareingaben

Das Versenden der E-Mail wird auch mittels PHP-Code generiert, indem ein String aufgebaut wird, der die statischen Textdaten mit den in den Variablen gespeicherten Formulardaten verknüpft. Dafür muss ich den Inhalt der E-Mail entsprechend ebenfalls mit PHP-Code Anweisungen erstellen, die abschließend durch die Angaben im Formular ersetzt werden. Der Text der E-Mail kann ebenfalls durch Anweisungen in PHP formatiert werden. Beispielsweise werden Zeilenumbrüche durch Escape-Zeichen (\n“) erstellt. Diese müssen jedoch in doppelten anstelle von einfachen Anführungszeichen deklariert werden, da sie sonst im E-Mail Text auftauchen, da sie im String als roher Text behandelt werden.

Wir benötigen nun PHP-Code, der die E-Mail tatsächlich versendet. Hierfür benötigen wir eine eingebaute PHP-Funktion mail(), mit der man auf Basis der angegebenen Informationen eine E-Mail versenden kann:

 mail ($an, $betreff, $msg);

Die drei Informationen werden von der Funktion mail() verlangt: die Empfängeradresse ($an), der Betreff der Nachricht ($betreff) und der Inhalt der Nachricht ($msg). Die Senderadresse ist nicht erforderlich, weil sie eigentlich schon bereits vorliegen sollte, kann jedoch ebenfalls mit eingebaut werden:

mail ($an, $betreff, $msg, ´From: ´. $email));

Hier gehts weiter zum Themenbereich MySQL.

Erstelle eine Website wie diese mit WordPress.com
Jetzt starten