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 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 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-Administrator (m/w/d)» Wirtschaftsinformatiker*in als Stv. Teamleitung Vertriebs-IT (m/w/d) Schwerpunkt: Mobile Ticketing» Informatiker (m/w/d) als Software Engineer (m/w/d) Shop Floor Automation» IT-Systemadministrator (m/w/d)» Softwareingenieur/Experte Level 2 (m/w/d) im Bereich Digitalisierung (Dekarbonisierung)» alle Jobs anzeigen