Karriere bei Brose

Jobbörsen-Treff - der Treffpunkt für Recruiter

Jobs bei Job-Treff

PHP (Programmiersprache)

Ein Fachbeitrag von Thomas Theis, Autor des Buches Einstieg in PHP7 und MySQL und des Videotrainings Programmieren lernen mit Python

Was ist PHP?

PHP ist eine Programmiersprache zur Entwicklung dynamischer Internetanwendungen, deren Nutzung seit ihrer ersten Einführung im Jahre 1995 stetig ansteigt. PHP wird auf Millionen Websites weltweit eingesetzt. Die Sprache wird ständig weiterentwickelt, im Dezember 2017 erscheint die Version 7.2.

Die Abkürzung PHP steht für PHP Hypertext Preprocessor. PHP ermöglicht Entwicklern die Erzeugung dynamischer Internetanwendungen, wie zum Beispiel E-Commerce-Systemen, Chats oder Foren. Im Unterschied zu statischen Internetseiten kann sich bei einer dynamischen Internetanwendung der Inhalt aufgrund von Eingaben und Aktionen des Benutzers oder neuer Basisinformationen, die häufig aus Datenbanken stammen, jederzeit ändern.

PHP unterstützt insbesondere die einfache Auswertung von Formularen, mit deren Hilfe ein Benutzer Daten an eine Website senden kann. Es ermöglicht die Zusammenarbeit mit vielen verschiedenen Datenbanksystemen. Die weitaus meisten PHP-Entwickler setzen das Datenbanksystem MySQL beziehungsweise seine Abspaltung MariaDB ein.

Welche Vorteile bietet PHP?

Zunächst einige Gründe für die Beliebtheit von PHP:
  • Die Sprache wurde zur Entwicklung von Internetanwendungen erschaffen.
  • Sie ermöglicht die einfache Entwicklung von Programmen.
  • Es unterstützt verschiedene Plattformen.
  • Es arbeitet sehr gut mit dem weitverbreiteten Apache-Webserver zusammen, auch innerhalb von vorgefertigten Installationspaketen, zum Beispiel XAMPP (siehe weiter unten).
  • Es ist erschwinglich und flexibel.

Einige Eigenschaften von PHP sollen näher betrachtet werden:
  • Im Vergleich zu anderen Sprachen ist PHP leicht erlernbar. Das liegt hauptsächlich daran, dass PHP im Gegensatz zu anderen Sprachen ausschließlich für die Webserverprogrammierung entwickelt wurde und nur die dafür notwendigen Bestandteile enthält.
  • PHP wird von vielen Typen von Webservern einheitlich unterstützt. Andere Sprachen kommen nur auf bestimmten Servertypen zum Einsatz. Ein PHP-Programmierer kann also seine Kenntnisse später auf den unterschiedlichsten Systemen nutzen.
  • PHP kostet nichts. Sie müssen weder einen Compiler noch ein Entwicklungssystem kaufen. Es kann unter anderem auf dem ebenfalls frei verfügbaren und weitverbreiteten Apache-Webserver unter verschiedenen Betriebssystemen eingesetzt werden.
  • Eine Internetanwendung kann entweder auf einem Webserver (Serverprogramm) oder im Webbrowser des Betrachters einer Internetseite ausgeführt werden (Clientprogramm). PHP-Programme sind stets Serverprogramme. Beim Betrachter wird also lediglich die Ausgabe der Programme dargestellt. Der Webbrowser des Betrachters muss nur in der Lage sein, den vom Server gesendeten HTML-Code umzusetzen. Er muss keine besonderen Eigenschaften besitzen, die mit der Programmiersprache des Webservers zusammenhängen. Die Seiten können daher auch von älteren Browsern dargestellt werden.
  • Darüber hinaus haben Serverprogramme im Unterschied zu Clientprogrammen Zugriff auf Textdateien und Datenbanken, die auf dem Server liegen. Dies ermöglicht die Durchführung häufig benötigter Vorgänge, wie zum Beispiel die Suche nach bestimmten Daten oder die Übermittlung von Daten an den Server.
  • Der Betrachter kann nur wenige Rückschlüsse auf den erzeugenden Programmcode oder auf die Quelldaten ziehen. Die Programme können also vom Betrachter nicht einfach kopiert und zu eigenen Zwecken weiterverwendet werden.
  • PHP läuft unter zahlreichen Betriebssystemen, unter anderem unter Windows, macOS und Ubuntu Linux.

Was benötigen Sie für die Erstellung von PHP-Programmen?

Sie benötigen für Ihre Arbeit mit PHP und MySQL / MariaDB neben einem Webbrowser zum Betrachten beziehungsweise Benutzen der Seiten die folgende Minimalausstattung: einen PHP-fähigen Webserver (zum Beispiel Apache), PHP selbst und den Datenbankserver MySQL / MariaDB. Für die Programmentwicklung unter Windows können Sie eines der frei verfügbaren Pakete nutzen, wie zum Beispiel das leicht installierbare XAMPP. Im Dezember 2017 erscheint die Version XAMPP 7.2. Neue Versionen erscheinen jeweils kurz nach neuen Versionen von PHP, die Versionsnummern sind an denjenigen von PHP angelehnt.

Der Name XAMPP dient als Abkürzung für die wichtigsten Komponenten des Pakets: Apache, MariaDB, Perl und PHP. Das X steht für die unterschiedlichen Betriebssysteme. Die Programmiersprache Perl wurde 1987 eingeführt. Besonders die Bestandteile von Perl, die zur Webentwicklung dienen, haben die spätere Entwicklung von PHP beeinflusst. Das Paket XAMPP beinhaltet zudem weitere nützliche Software und ist bereits fertig vorkonfiguriert, in passenden Versionen für Windows, Linux und macOS.

Ein Beispielprogramm

In diesem Abschnitt folgt ein Beispiel für einen typischen Einsatzzweck von PHP und MySQL / MariaDB. Falls Sie noch keine Programmiererfahrung haben, soll dieses Beispiel Ihnen das Ergebnis der nachfolgend beschriebenen Abfolge verdeutlichen:
  • Das Absenden von Benutzereingaben in einem Formular (siehe Abbildung 1) an einen Webserver,
  • das Zusammensetzen eines SQL-Befehls auf einem Webserver und das Absenden dieses Befehls an einen Datenbankserver,
  • das Auswerten des SQL-Befehls auf einem Datenbankserver und damit das Filtern und Sortieren von Daten aus einer Datenbank,
  • das Zurücksenden des Ergebnisses des SQL-Befehls an den Webserver,
  • das Einbetten dieses Ergebnisses in den Aufbau eines HTML-Dokuments,
  • das Zurücksenden des HTML-Dokuments an den Benutzer und
  • die Ausgabe des dynamisch erstellten HTML-Dokuments in seinem Webbrowser (siehe Abbildung 2).
Falls Sie bereits Kenntnisse in einer anderen Programmiersprache besitzen, finden Sie im Code und den kurzen Kommentaren viele bekannte Elemente, aber auch PHP-spezifische Elemente. Natürlich ist dieses Demo-Beispiel noch nicht zum gründlichen Erlernen von PHP geeignet. An dieser Stelle verweise ich auf mein Buch beim Rheinwerk-Verlag beziehungsweise mein Videotraining beim Rheinwerk-Verlag.

Es geht um eine Datenbank, in der die Daten von Festplatten gespeichert sind. Es sollen einzelne Daten von Festplatten aus einer bestimmten Preisgruppe angezeigt werden, wahlweise sortiert. Der Benutzer wählt die gewünschte Preisgruppe aus und setzt gegebenenfalls ein Häkchen für die Sortierung (siehe Abbildung 1). Nach Betätigung der Schaltfläche Daten absenden wird nach dem oben genannten Ablauf das gewünschte Ergebnis angezeigt (siehe Abbildung 2).

Abbildung 1: Datei "preisgruppe.htm", mit Formular

Abbildung 1: Datei "preisgruppe.htm", mit Formular


Abbildung 2: Datei "preisgruppe.php", mit Ergebnis

Abbildung 2: Datei "preisgruppe.php", mit Ergebnis


Aufbau der Datenbank

Es wird auf eine Datenbank in MySQL / MariaDB mit einer einzelnen Tabelle zugegriffen. Die Struktur der Tabelle sehen Sie in Abbildung 3, die Beispieldaten in Abbildung 4.

Abbildung 3: Datenbank "hardware", Tabelle "fp", Struktur

Abbildung 3: Datenbank "hardware", Tabelle "fp", Struktur


Abbildung 4: Datenbank "hardware", Tabelle "fp", Daten

Abbildung 4: Datenbank "hardware", Tabelle "fp", Daten


Der Code des Programms

Es folgt der Code der Datei "preisgruppe.htm":
<!DOCTYPE html>
<html>
<head>
   <meta charset="utf-8">
   <title>HTML, Formular</title>
   <!-- Einbettung von CSS-Styles -->
   <style>
      body {font-family:Verdana; font-size:11pt;
            background-color:#f0f0f0}
   </style>
</head>
<body>
   <p>Anzeige der Festplatten aus der Preisgruppe:</p>
   <!-- Formular, Ziel ist die PHP-Datei auf dem Webserver -->
   <form action="preisgruppe.php" method="post">
      <!-- Radiobuttons zur Auswahl der Preisgruppe -->
      <p><input type="radio" name="pr" value="1" checked="checked">
         bis 120 € einschl.<br>
      <input type="radio" name="pr" value="2">
         ab 120 € ausschl. bis 140 € einschl.<br>
      <input type="radio" name="pr" value="3">
         ab 140 € ausschl.</p>
      <!-- Checkbox zur Auswahl der Sortierung -->
      <p><input type="checkbox" name="prsort">
            Ausgabe nach Preis (absteigend) sortiert</p>
      <!-- Schaltflächen zum Absenden oder Zurücksetzen des Formulars -->
      <p><input type="submit"> <input type="reset"></p>
   </form>
</body>
</html>


Es folgt der Code der Datei "preisgruppe.php":
<!DOCTYPE html>
<html>
<head>
   <meta charset="utf-8">
   <title>PHP, Ergebnis</title>
   <!-- Einbettung von CSS-Styles -->
   <style>
      body {font-family:Verdana; font-size:11pt;
            background-color:#f0f0f0}
      table, td {border:1px solid black;}
   </style>
</head>
<body>
<?php
   // Verbindung zur Datenbank öffnen
   $con = mysqli_connect("", "root", "", "hardware");

   // Beginn des SQL-Befehls
   $sql = "SELECT hersteller, typ, preis FROM fp WHERE ";

   // Weiterführung des SQL-Befehls, in Abhängigkeit der Auswahl
   switch($_POST["pr"])
   {
      case 1:
         $sql .= "preis <= 120";
         break;
      case 2:
         $sql .= "preis > 120 AND preis <= 140";
         break;
      case 3:
         $sql .= "preis > 140";
   }

   // Weiterführung des SQL-Befehls, in Abhängigkeit der Auswahl
   if (isset($_POST["prsort"]))
      $sql .= " ORDER BY preis DESC";

   // Absenden des SQL-Befehls und Speichern des Ergebnisses
   $res = mysqli_query($con, $sql);
   $num = mysqli_num_rows($res);
   if($num > 0) echo "<p>Ergebnis:</p>";
   else         echo "<p>Keine Ergebnisse</p>";

   // Beginn einer HTML-Tabelle für das Ergebnis
   echo "<table border='1'>";
   echo "<tr><td><b>Hersteller</b></td><td><b>Typ</b></td>
             <td><b>Preis</b></td></tr>";

   // Ermittlung und Ausgabe der einzelnen Datensätze des Ergebnisses
   while ($dsatz = mysqli_fetch_assoc($res))
   {
      echo "<tr>";
      echo "<td>" . $dsatz["hersteller"] . "</td>";
      echo "<td>" . $dsatz["typ"] . "</td>";
      echo "<td>" . $dsatz["preis"] . " €</td>";
      echo "</tr>";
   }
   echo "</table>";

   // Verbindung zur Datenbank schließen
   mysqli_close($con);
?>
</body>
</html>


Aktuelle IT Jobs

» IT-SYSTEMADMINISTRATOR (M/W/D)
» Fachinformatiker (m/w/d) Systemintegration als Netzwerk- und Systemadministrator (m/w/d)
» Service-Techniker (d/m/w) / Field Service Engineer (d/m/w) für IT-Support
» IT Support Analyst (m/w/d)
» Medizininformatikerinnen / Medizininformatiker (w/m/d)
» alle Jobs anzeigen

Autor

Autor Thomas Theis Thomas Theis ist Diplom-Ingenieur für Technische Informatik und Software-Entwickler. Er hat langjährige Erfahrung als IT-Dozent, unter anderem an der Fachhochschule Aachen. Er leitet Schulungen zu C/C++, Visual C#, Visual Basic sowie Webprogrammierung und ist Autor zahlreicher erfolgreicher Fachbücher. Einsteiger und Neulinge schätzen seine Fähigkeit, auch komplizierte Sachverhalte leicht verständlich zu machen und dabei den Spaß am Programmieren nie aus den Augen zu verlieren.