17,99 €
PHP ist nach wie vor die wichtigste serverseitige Websprache und MySQL das wichtigste Webdatenbank-Managementsystem. Als Team sind die beiden unschlagbar, wenn es um die Erstellung dynamischer Webseiten geht. In diesem Buch erklärt Ihnen Janet Valade die Grundlagen und das Zusammenspiel von PHP und MySQL anhand typischer Anwendungsbeispiele.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 582
Veröffentlichungsjahr: 2017
Titelei
WILEY-VCH Verlag GmbH & Co. KGaA
PHP & MySQL für Dummies
Janet Valade
2. Auflage
Übersetzung aus dem Amerikanischen von Christine Peyton und Gerhard Franken
Bibliografische Information der Deutschen Nationalbibliothek
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.
2. Auflage 2018
© 2018 WILEY-VCH Verlag GmbH & Co. KGaA, Weinheim
Original English language edition PHP & MySQL For Dummies © 2012 by Wiley Publishing, Inc. All rights reserved including the right of reproduction in whole or in part in any form. This translation published by arrangement with John Wiley and Sons, Inc.
Copyright der englischsprachigen Originalausgabe PHP & MySQL For Dummies © 2012 by Wiley Publishing, Inc. Alle Rechte vorbehalten inklusive des Rechtes auf Reproduktion im Ganzen oder in Teilen und in jeglicher Form. Diese Übersetzung wird mit Genehmigung von John Wiley and Sons, Inc. publiziert.
Wiley, the Wiley logo, Für Dummies, the Dummies Man logo, and related trademarks and trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the United States and other countries. Used by permission.
Wiley, die Bezeichnung »Für Dummies«, das Dummies-Mann-Logo und darauf bezogene Gestaltungen sind Marken oder eingetragene Marken von John Wiley & Sons, Inc., USA, Deutschland und in anderen Ländern.
Das vorliegende Werk wurde sorgfältig erarbeitet. Dennoch übernehmen Autoren und Verlag für die Richtigkeit von Angaben, Hinweisen und Ratschlägen sowie eventuelle Druckfehler keine Haftung.
Coverfoto © Scanrail- fotolia.com
Korrektur Harriet Gehring
Satz/ePub Reemers Publishing Services GmbH, Krefeld
Print ISBN: 978-3-527-71443-8
ePub ISBN: 978-3-527-81265-3
mobi ISBN: 978-3-527-81264-6
Cover
Über die Autorin
Einleitung
Über dieses Buch
Konventionen in diesem Buch
Was Sie nicht lesen müssen
Törichte Annahmen über den Leser
Wie dieses Buch aufgebaut ist
Teil I: Eine datenbankgestützte Webanwendung mit PHP und MySQL entwickeln
Teil II: PHP
Teil III: MySQL-Datenbanken
Teil IV: PHP und MySQL im Zusammenspiel
Teil V: Anwendungen
Teil VI: Der Top-Ten-Teil
Anhänge
Symbole, die in diesem Buch verwendet werden
Wie es weitergeht
Teil I: Eine datenbankgestützte Webanwendung mit PHP und MySQL entwickeln
Kapitel 1: Einführung in PHP und MySQL
Was ist eine datenbankgestützte Webanwendung?
Die Datenbank: Daten speichern
Die Webanwendung: Daten in eine Datenbank übertragen und auslesen
MySQL, die Datenbank meiner Wahl
Vorteile von MySQL/MariaDB
Wie MySQL funktioniert
Mit dem MySQL-Server kommunizieren
PHP bewegt Daten
Vorteile von PHP
Wie PHP funktioniert
MySQL und PHP, ein perfektes Paar
Vorteile der Beziehung
Wie die Zusammenarbeit von MySQL und PHP funktioniert
Mit Änderungen auf dem Laufenden bleiben
PHP-Versionen
Versionen MySQL und MariaDB
Kapitel 2: Die Arbeitsumgebung einrichten
Anatomie einer Website
Eine Website erstellen
Entscheiden, wo die Website veröffentlicht werden soll
Einen Webhost nutzen
Den Server einer Firma nutzen
Ihren eigenen Server einrichten
Entscheiden, wo Ihre Website entwickelt werden soll
Auf Ihrem eigenen Computer
Auf einem anderen Computer
Die Produktionsumgebung einrichten
Bei einem Webhost
Auf einem Firmencomputer
Benötigte Informationen
Die Entwicklungsumgebung einrichten
Auf Ihrem eigenen Computer
Bei Ihrem Webhost
Auf einem Firmencomputer
Test, Test – 1, 2, 1, 2
PHP/MySQL-Funktionen
PHP testen
Die lokale PHP-Konfigurationsdatei testen
MySQL testen
Kapitel 3: Eine datenbankgestützte Webanwendung entwickeln
Das datenbankgestützte Webprojekt planen
Klären, was die Website leisten soll
Die Wünsche der Benutzer berücksichtigen
Die Seite benutzerfreundlich machen
Anpassungsmöglichkeiten
Den Plan dokumentieren
Die beiden in diesem Buch verwendeten Beispiele
Der Produktkatalog
Nur für Mitglieder
Teil II: PHP
Kapitel 4: PHP-Grundlagen
Einen PHP-Abschnitt in eine HTML-Seite integrieren
PHP-Anweisungen schreiben
PHP-Variablen nutzen
Variablen benennen
Variablen Werte zuweisen
Umgang mit Hinweisen
PHP-Konstanten nutzen
Mit Zahlen arbeiten
Mit Zeichenketten arbeiten
Einfache Anführungszeichen versus doppelte Anführungszeichen
Zeichenketten verbinden
Mit Datumsangaben und Uhrzeiten arbeiten
Die lokale Zeit einstellen
Das Datum formatieren
Einen Zeitstempel in einer Variablen speichern
Datumsangaben mit MySQL nutzen
Werte vergleichen
Einfache Vergleiche
Zeichenketten mit Mustern vergleichen
Vergleiche verbinden mit and/or/xor
Kommentare hinzufügen
Kapitel 5: PHP-Bausteine für Programme
Einfache, aber nützliche Anweisungen
echo-Anweisungen verwenden
Werte zuweisen
Inkrement-Operatoren verwenden
Programme abbrechen
Funktionen aufrufen und verwenden
Arrays verwenden
Arrays anlegen
Die Array-Struktur anschauen
Werte aus einem Array entfernen
Arrays sortieren
Array-Werte auslesen
Ein Array durchlaufen
Multidimensionale Arrays
Nützliche Bedingungsanweisungen
if-Anweisungen verwenden
switch-Anweisungen verwenden
Schleifen verwenden
for-Schleifen einsetzen
while-Schleifen verwenden
do-while-Schleifen verwenden
Endlosschleifen
Schleifen abbrechen
Funktionen verwenden
Variablen in Funktionen nutzen
Werte zwischen aufrufenden Programmen und Funktionen austauschen
Vordefinierte Funktionen verwenden
Teil III: SQL-Datenbanken
Kapitel 6: Der Datenbankentwurf
Die Daten auswählen
Die Daten organisieren
Daten in Tabellen organisieren
Beziehungen zwischen Tabellen herstellen
Die Beispieldatenbanken entwerfen
Der Entwurf des Katalogs der Tierhandlung
Der Entwurf des Mitgliederbereichs
Felddatentypen
Zeichenketten
Numerische Daten
Datums- und Uhrzeitdaten
Listenfelder
Die SQL-Datentypen
Den Entwurf schriftlich festhalten
Die Struktur der Beispieltabellen
Die Tabellen für die Datenbank »Haustierkatalog«
Die Tabellen für die Datenbank »MitgliedVerzeichnis«
Die Anwendung entwickeln
Die Datenbank erstellen
Die Programme schreiben
Kapitel 7: Die Datenbank aufbauen
Mit SQL kommunizieren
SQL-Abfragen schreiben
SQL-Abfragen abschicken
Eine Datenbank aufbauen
Eine neue Datenbank anlegen
Die Datenbank prüfen
Eine Datenbank löschen
Datenbanken Tabellen hinzufügen
Die Struktur der Datenbank verändern
Daten zur Datenbank schicken und Daten auslesen
Daten hinzufügen
Daten überprüfen
Daten auslesen
Daten aus Tabellen kombinieren
Joins
Daten aktualisieren
Daten entfernen
Kapitel 8: Die Daten schützen
Den Zugang zu den Daten kontrollieren
Kontennamen und Hostnamen
Passwörter nutzen
Die Kontorechte prüfen
MySQL-Konten einrichten
Konten hinzufügen
Privilegien gewähren
Privilegien ändern
Passwörter hinzufügen und ändern
Benutzerkonten löschen
Die Daten per Backup sichern
Die Daten mit phpMyAdmin exportieren
Die Exportdatei betrachten
Die Daten wiederherstellen
Die Daten importieren
Teil IV: PHP und MySQL im Zusammenspiel
Kapitel 9: Daten rein, Daten raus
PHP- und MySQL-Funktionen
Eine Verbindung herstellen
Eine Verbindung mit dem MySQL-Server herstellen
Die richtige Datenbank auswählen
SQL-Anfragen übertragen
Daten aus Datenbanken auslesen
Eine SELECT-Abfrage senden
Die Daten auslesen und verwenden
Funktionen zum Auslesen von Daten einsetzen
Daten vom Benutzer abfragen
HTML-Formulare verwenden
Dynamische Formulare
Die Daten aus einem Formular nutzen
Daten prüfen
Eine Auswahl durch verschiedene Submit-Schaltflächen
Eine Datenbank mit Informationen füttern
Die Daten vorbereiten
Neue Daten hinzufügen
Vorhandene Daten aktualisieren
Daten in Dateien einlesen
Ein Formular für den Upload einer Datei
Die hochgeladene Datei verarbeiten
Der komplette Upload
Kapitel 10: Daten zwischen Webseiten austauschen
Den Benutzer von Seite zu Seite führen
Daten zur nächsten Seite übertragen
Daten an die URL anhängen
Daten in Cookies speichern
Daten mit HTML-Formularen weitergeben
PHP-Sessions einsetzen
So funktionieren PHP-Sessions
Sessions starten
Session-Variablen verwenden
Sessions ohne Cookies
Sessions für geschützte Seiten
PHP-Sessions schließen
Teil V: Anwendungen
Kapitel 11: Ein Webprojekt entsteht
Die Anwendung organisieren
Die Anwendungsebene organisieren
Die Programmebene organisieren
Die Webanwendung schützen
Den Computer absichern
Keine Dateinamen anzeigen
Daten verstecken
Den Daten von Benutzern nicht trauen
Einen sicheren Webserver nutzen
Ihre Website dokumentieren
Kapitel 12: Einen Onlinekatalog erstellen
Die Anwendung entwerfen
Dem Kunden die Tiere präsentieren
Die Tiere in den Katalog aufnehmen
Die Datenbank aufbauen
Die Tabelle »Haustier«
Die Tabelle »Tiertyp«
Die Tabelle »Tierfarbe«
Der Datenbank Daten hinzufügen
Das Aussehen der Webseiten entwerfen
Die Haustiere präsentieren
Tiere zum Katalog hinzufügen
Die Programme schreiben
Der Zeichensatz der Webseite und Datenbank
Die Tiere des Katalogs präsentieren
Tiere in den Katalog hinzufügen
Kapitel 13: Den Mitgliederbereich programmieren
Den Mitgliederbereich entwerfen
Die Datenbank aufbauen
Die Tabelle »Mitglied«
Die »Login«-Tabelle
Der Datenbank Daten hinzufügen
Das Aussehen der Webseiten gestalten
Die Eingangsseite
Die Login-Seite
Die Begrüßungsseite
Der Mitgliederbereich
Die Programme schreiben
Den Code für die Eingangsseite schreiben
Das Programm für das Login
Das Programm Neues_Mitglied.php schreiben
Die Programme für den Mitgliederbereich
Erweiterungen einplanen
Teil VI: Der Top-Ten-Teil
Kapitel 14: Zehn Dinge, für die Sie Funktionen einsetzen
Mit MySQL kommunizieren
E-Mails senden
PHP-Sessions verwenden
Das Programm stoppen
Mit Arrays umgehen
Nach Variablen suchen
Werte formatieren
Zeichenketten mit Mustern vergleichen
Strings auswerten
Groß- und Kleinschreibung ändern
Kapitel 15: Zehn Troubleshooting-Tipps
Fehlende Semikolons
Zu wenig Gleichheitszeichen
Falsche Variablennamen
Fehlendes Dollarzeichen
Knifflig: Anführungszeichen
Unsichtbare Ausgabe
Nummerierte Arrays
PHP-Anweisungen einbinden
Fehlende Freunde
Runde und geschweifte Klammern verwechseln
Teil VII: Anhänge
Anhang A
PHP, MySQL und Apache mit XAMPP installieren
XAMPP unter Windows installieren
XAMPP verwenden
Anhang B
PHP konfigurieren
Die Konfigurationseinstellungen in der php.ini ändern
Bearbeitung der php.ini-Datei
Änderungen in der php.ini-Datei Ihrer Website
Einstellungen in der .htaccess-Datei ändern
Die Einstellungen mit PHP-Anweisungen ändern
Anhang C
Die Quelltexte und Bildnachweise
Stichwortverzeichnis
Wiley End User License Agreement
Kapitel 02
Abbildung 2.1: Die Ausgabe des PHP-Befehls phpinfo() auf einem lokalen http-Server
Kapitel 05
Abbildung 5.1: Ein Array von Arrays
Abbildung 5.2: Das Resultat eines multidimensionalen Arrays auf einer Webseite
Kapitel 06
Abbildung 6.1: MySQL-Daten sind in Tabellen organisiert.
Abbildung 6.2: Beispiel für eine Kundentabelle
Abbildung 6.3: Beispiel für eine Tabelle mit Bestellinformationen
Kapitel 07
Abbildung 7.1: Die Hauptseite von phpMyAdmin
Abbildung 7.2: Die SQL-Abfrage-Seite von phpMyAdmin
Abbildung 7.3: Die Datenbank wurde angelegt.
Abbildung 7.4: Hier können Sie die Struktur der Datenbank bearbeiten.
Abbildung 7.5: Die Nachfrage, ob Sie die Datenbank tatsächlich löschen möchten
Abbildung 7.6: Die relevanten Bereiche der Tabellendefinition
Abbildung 7.7: Die phpMyAdmin-Seite, um einen Datensatz hinzuzufügen
Abbildung 7.8: Die phpMyAdmin-Seite, über die Sie eine Textdatei importieren können
Kapitel 08
Abbildung 8.1: Das Konto und der Hostname werden auf der Startseite von phpMyAdmin angezeigt.
Abbildung 8.2: Die Registerkarte »Benutzerkonten« aktivieren
Abbildung 8.3: Der Link zum Hinzufügen eines Benutzers
Abbildung 8.4: Die Daten für ein neues Benutzerkonto eingeben
Abbildung 8.5: Der Abschnitt »Globale Rechte«
Abbildung 8.6: Die Registerkarte »Benutzerkonten« aktivieren
Abbildung 8.7: Der Link »Rechte überprüfen«
Abbildung 8.8: Benutzer mit Zugriffsrechten auf den »Haustierkatalog«
Abbildung 8.9: Die Schaltfläche »Datenbank«
Abbildung 8.10: Die Datenbank auswählen, für die Sie Rechte festlegen
Abbildung 8.11: Die Rechte für die Datenbank festlegen
Abbildung 8.12: Passwort ändern
Abbildung 8.13: Konten löschen
Abbildung 8.14: Die Datenbankseite für die ausgewählte Datenbank
Abbildung 8.15: Die Seite für den Export und die Exporteinstellungen
Abbildung 8.16: Einstellungen für den Export
Abbildung 8.17: Formatspezifische Einstellungen für den Export
Abbildung 8.18: Weitere Einstellungen für den Export
Abbildung 8.19: Exportformate für allerlei verschiedene Zwecke
Abbildung 8.20: Die Anzeige der vorhandenen Datenbankstruktur
Abbildung 8.21: Die Import-Seite
Kapitel 09
Abbildung 9.1: Das Resultat des Skripts aus Listing 9.1 als Webseite
Abbildung 9.2: Das Skript aus Listing 9.2 im Browserfenster
Abbildung 9.3: Die Struktur des von der Funktion zurückgegebenen Arrays »$HtInfo«
Abbildung 9.4: Das Formular zum Absenden des Namens
Abbildung 9.5: Ein Formular mit mehreren Feldern
Abbildung 9.6: Die Ausgabe des Programms aus Listing 9.6
Abbildung 9.7: Die aus der Datenbank ausgelesenen Daten des Benutzers Max Mustermann
Abbildung 9.8: Auswahl der Tierart per »select«-Feld
Abbildung 9.9: Die geöffnete Auswahlliste des »select«-Feldes
Abbildung 9.10: Das »select«-Feld mit den Tierarten als Optionen aus der Datenbank
Abbildung 9.11: Auswahllisten für die Eingabe eines Datums
Abbildung 9.12: Radiobuttons für die Auswahl einer Tierart
Abbildung 9.13: Checkboxen zur Auswahl der Tierarten
Abbildung 9.14: Formulare auf fehlende Daten überprüfen
Abbildung 9.15: Unterschiedliche Fehlermeldungen für leere und nicht korrekt ausgefüllte Felder
Abbildung 9.16: Das Formular zum Hochladen einer Datei
Kapitel 10
Abbildung 10.1: Die Ausgabe des Programms aus Listing 10.1 auf der Webseite
Abbildung 10.2: HTML-Formular mit einer unsinnigen Telefonnummer
Abbildung 10.3: Einstellungen für Cookies in der Kategorie »Datenschutz« von Firefox
Kapitel 12
Abbildung 12.1: Die erste Seite des Onlinekatalogs (start.php)
Abbildung 12.2: Die Tierart auswählen (Haustierkatalog.php)
Abbildung 12.3: Zwei verschiedene Hunde (ZeigeTiere.php)
Abbildung 12.4: Zwei verschiedene Katzen mit dem gleichen Tiernamen
Abbildung 12.5: Goldfische gibt es in zwei verschiedenen Farben.
Abbildung 12.6: Die erste Seite, auf der Sie ein neues Tier hinzufügen (AuswahlTierkategorie.php)
Abbildung 12.7: Die zweite Seite zum Eingeben der Informationen über das neue Tier (AuswahlTiername.php)
Abbildung 12.8: Die letzte Seite (NeuesTier.php) zeigt eine Rückmeldung über das hinzugefügte Tier.
Abbildung 12.9: Die Seite mit der Aufforderung, eine fehlende Information beim Anlegen einer neuen Tierart (Kategorie) einzugeben (AuswahlTiername.php)
Abbildung 12.10: Die Kollation (Zeichensatz und Sortierreihenfolge) der Datenbank bestimmen
Kapitel 13
Abbildung 13.1: Die Startseite der Tierhandlung mit Link zum Mitgliederbereich
Abbildung 13.2: Die Seite zum Einloggen oder Registrieren
Abbildung 13.3: Auf fehlerhafte Daten wird mit Fehlermeldungen reagiert.
Abbildung 13.4: Die Begrüßungsseite für neue Mitglieder (NurMitglieder.php)
Anhang A
Abbildung A.1: Der Download-Bereich für XAMPP
Abbildung A.2: XAMPP-Komponenten auswählen
Abbildung A.3: Das XAMPP Control Panel – Apache und MySQL laufen als Dienst.
Abbildung A.4: Die Hauptseite von XAMPP
Anhang B
Abbildung B.1: Dies ist die aktuell geladene Konfigurationsdatei php.ini.
Abbildung B.2: Die Tabelle führt die möglichen Änderungen auf.
Abbildung B.3: Die Schritte zur Bearbeitung der php.ini unter Ubuntu in einem LAMPP-System
Abbildung B.4: Der Anfang der Datei php.ini in einem Editor (gedit unter Ubuntu mit entsprechenden Zugriffsrechten im Bearbeitungsmodus)
Abbildung B.5: Empfohlene Einstellungen für Magic Quotes und Fehlerprotokollierung
1-4
7-8
9-10
21-26
27-28
29-40
41-68
69-76
77-78
79-110
111-154
155-156
157-172
173-206
207-232
233-234
235-308
309-328
329-330
331-344
345-384
385-410
411-412
413-420
421-426
427-428
429-434
435-442
443-444
Über die Autorin
Janet Valade ist Autorin und Koautorin zahlreicher Bücher zu Themen rund um PHP und MySQL sowie HTML und die Adobe-Produkte Dreamweaver und Flash. Sie beschäftigt sich seit über zwei Jahrzehnten mit EDV-Themen. Dabei arbeitete sie vier Jahre als Webdesignerin und Programmiererin in einem Ingenieurbüro. Davor war sie dreizehn Jahre lang im universitären Umfeld als Systemanalytikerin tätig. Während dieser Zeit war sie für die Installation und den Betrieb der Computerressourcen verantwortlich, entwickelte ein Datenbankarchiv, unterstützte die Fakultät und die Studenten bei der Computernutzung, schrieb viele Anleitungen und hielt eine Vielzahl von Seminaren über IT-Themen.
Einleitung
Ich heiße Sie in der aufregenden Welt der datenbankgestützten Webanwendungen herzlich willkommen. Mit den in diesem Buch vorgestellten Techniken können Sie zwar fast beliebige Anwendungen entwickeln, ich lege Ihnen aber dringend ans Herz, sich zunächst einfachen Projekten zuzuwenden. Im Mittelpunkt des Buches stehen zwei Beispielanwendungen, die zwei typische Webauftritte repräsentieren: ein Produktkatalog und ein Mitgliederbereich einer Website, für den sich Benutzer anmelden und mit einem Passwort einloggen müssen. Die Beispiele sind einerseits so komplex, dass sie zahlreiche Programme und Daten sowie deren Bearbeitung erfordern, aber auch einfach genug, um sie nachvollziehen und auf andere Webprojekte übertragen zu können. Nachdem Sie die ersten einfachen Anwendungen gemeistert haben, können Sie die Programme erweitern und eine Menge Funktionalitäten ergänzen.
Über dieses Buch
Betrachten Sie dieses Buch als Ihren Begleiter bei der Entwicklung von Webanwendungen. Es ist eher ein Handbuch als eine Anleitung, sodass Sie es nicht von vorn bis hinten durcharbeiten müssen. Sie können es aufschlagen, wo Sie wollen, direkt bei Kapitel 1, bei Kapitel 9 oder wo auch immer. Ich habe die Aufgaben, die mit der Entwicklung von Webanwendungen einhergehen, in handhabbare Einheiten aufgeteilt, sodass Sie im Inhaltsverzeichnis rasch erkennen können, welches Kapitel oder welcher Abschnitt die gerade interessanten Informationen liefert. Zahlreiche Verweise führen Sie zu thematisch verwandten Abschnitten, wenn Sie mal nicht weiterwissen.
Hier ein kurzer Überblick über die Themen des Buches:
Eine MySQL-Datenbank entwickeln und verwenden
PHP-Abschnitte in HTML-Dateien einfügen
PHP-Features verwenden
Mittels HTML-Formularen Daten von Benutzern übernehmen
Daten aus einer Datenbank auf Webseiten anzeigen
Daten in einer Datenbank speichern
Konventionen in diesem Buch
Sie finden in diesem Buch eine Menge PHP- und MySQL-Anweisungen, SQL-Strings und HTML-Code. Diese Anweisungen werden vom Rest des Textes durch eine besondere Formatierung abgehoben; sie sehen so aus:
Eine PHP-Anweisung
Zusätzlich gibt es auch innerhalb des Textes PHP-, MySQL- und HTML-Schnipsel. Diese Texte sind ebenfalls gut erkennbar formatiert. Dieser Text zum Beispiel ist ein Codefragment innerhalb des normalen Textes.
In vielen Beispielanweisungen sind bestimmte Begriffe kursiv formatiert. Kursiv gekennzeichnete Wörter repräsentieren allgemeine Elemente der Anweisungen, die im konkreten Fall angepasst werden müssen. Wenn es beispielsweise eine solche Anweisung gibt:
SELECT feld1, feld2 FROM tabellenname
müssen die kursiv gekennzeichneten Wörter durch konkrete Angaben ersetzt werden. Im Skript kann das dann zum Beispiel so aussehen:
SELECT name, alter FROM kunde
Sie werden in Anweisungen auch auf drei Punkte stoßen (…). Diese drei Punkte brauchen Sie nicht zu schreiben, sie bedeuten einfach, dass Sie an der Stelle beliebig viele Elemente auflisten können. In dem folgenden Anweisungsbeispiel
SELECT feld1, feld2,… FROM tabellenname
können Sie also nicht nur feld1 und feld2 aufnehmen, sondern eine viel umfangreichere Liste, die mit feld3, feld4 und so weiter fortgeführt wird. Hier ein Beispiel:
SELECT name,alter,groesse,schuhgroesse FROM kunde
Manche Texte sind auch fett gesetzt; sie sind besonders wichtig und ich möchte Ihre Aufmerksamkeit auf solche Textpassagen lenken. Fachbegriffe, die zum ersten Mal auftauchen, sind kursiv ausgezeichnet.
Falls die Listings im eBook-Display nicht gut lesbar sind oder nicht korrekt dargestellt werden, empfehlen wir Ihnen, sich die Beispieldateien von der Webseite des Buches herunterzuladen: www.wiley-vch.de/ISBN9783527714438.
Was Sie nicht lesen müssen
Manche Textpassagen sowie einige grau hinterlegte Kästen sind mit einem Symbol gekennzeichnet, das für »Achtung Technik« steht. Sie müssen diese Texte nicht unbedingt lesen, um die Programme schreiben zu können, aber sie bieten einen Blick hinter die Kulissen und/oder beschreiben eine fortgeschrittene Technik, für deren Anwendung Sie weitergehende Kenntnisse benötigen. Manche von Ihnen mögen diese zusätzlichen Informationen spannend finden, aber Sie können sie ebenso gut ignorieren, wenn Sie sich damit nicht belasten wollen.
Törichte Annahmen über den Leser
Um ein Buch mit durchgehenden Beispielen zu schreiben – anstatt eines allgemeinen Nachschlagewerks –, musste ich einige Annahmen über Sie, den Leser, die Leserin, treffen. Ich ging beim Schreiben davon aus, dass Sie sich mit HTML und CSS auskennen und bereits statische Webseiten erstellt haben. Daher werden HTML und CSS nicht näher erklärt, auch wenn ich beides in vielen Beispielen benutze. Ohne HTML-/CSS-Kenntnisse sind die Beispiele dieses Buches definitiv schwieriger nachzuvollziehen, sodass ich Ihnen empfehle, zunächst ein entsprechendes Buch zur Hand zu nehmen (zum Beispiel HTML5 Schnelleinstieg für Dummies von Andy Harris, das ebenfalls im Verlag Wiley-VCH erschienen ist) und ein bisschen mit Webseiten zu experimentieren. Besonders hilfreich ist es, wenn Sie mit HTML-Formularen und -Tabellen vertraut sind. Dennoch halte ich es nicht für unmöglich, das hier vorliegende Buch auch ohne HTML-Kenntnisse zu verwenden, weil Sie als aufmerksamer Leser nebenbei genug HTML/CSS lernen, um Ihre eigene dynamische Website zu bauen. Ein HTML-Buch sollten Sie aber nicht nur dann immer parat haben.
Wenn Sie ganz ohne bisherige Erfahrungen loslegen, sind Ihnen ein paar Grundlagen eventuell nicht unbedingt geläufig. Sie müssen wissen, wie Sie Texte in einem Editor (wie etwa Notepad) schreiben und als einfache Textdateien speichern (nicht im Word-Format). Sie müssen auch wissen, wo Sie die Dateien mit HTML und/oder PHP-Code für Ihre Webseiten ablegen, sodass sie allen Benutzern mit Zugang zu Ihrer Website zur Verfügung stehen, und Sie müssen wissen, wie Sie Dateien gegebenenfalls an den richtigen Speicherort verschieben.
Sie müssen sich aber nicht damit auskennen, wie man eine Datenbank aufbaut oder wie man programmiert. Alles, was dafür erforderlich ist, finden Sie in diesem Buch.
Wie dieses Buch aufgebaut ist
Das Buch ist aufgeteilt in sieben Teile, jeder Teil besteht aus mehreren Kapiteln. Inhaltlich reichen die Kapitel von einer ersten Einführung in PHP und MySQL über die Entwicklung und Verwendung von Datenbanken bis hin zum Schreiben von – auch komplexeren – PHP-Programmen. Schließlich wird im Anhang erklärt, wie Sie die erforderliche Software installieren und konfigurieren.
Teil I: Eine datenbankgestützte Webanwendung mit PHP und MySQL entwickeln
Teil I liefert einen Überblick über die Entwicklung einer datenbankgestützten Webanwendung mit PHP und MySQL. Die Kapitel beschreiben die Vorteile der beiden Programme und erklären, wie das Zusammenspiel von PHP und MySQL grundsätzlich funktioniert. Sie lernen, wie Sie mit der Entwicklung eines Webprojekts beginnen, was Sie benötigen und wie Sie die Software testen.
Teil II: PHP
In Teil II lernen Sie PHP kennen. Sie erfahren, wie Sie PHP-Anweisungen schreiben und machen Bekanntschaft mit Anweisungsblöcken, Funktionen, Arrays, Konstanten und if-Bedingungen.
Teil III: MySQL-Datenbanken
Teil III führt Sie in die Arbeit mit Datenbanken ein. Sie entwerfen das Layout einer Datenbank, legen eine entsprechende Datenbank an und füllen sie mit Daten. Außerdem erfahren Sie, wie Sie Ihre Daten schützen.
Teil IV: PHP und MySQL im Zusammenspiel
In diesem Teil erfahren Sie, wie Sie Ihren Webseiten mit PHP-Programmen ermöglichen, neue Informationen in eine Datenbank einzufügen, dort Informationen zu aktualisieren oder daraus zu entfernen. Sie lernen spezielle PHP-Features kennen, die für die Kommunikation mit MySQL und die Verarbeitung von Daten aus Webformularen eingesetzt werden.
Teil V: Anwendungen
Dieser Teil beschreibt die datenbankgestützte Webanwendung als Ganzes. Sie lernen, wie Sie Ihre Programme so organisieren, dass eine funktionierende Webanwendung daraus entsteht, die mit der MySQL-Datenbank kommuniziert. Hier werden zwei komplette Anwendungen erstellt, beschrieben und erläutert.
Teil VI: Der Top-Ten-Teil
In Teil VI finden Sie nützliche Listen mit Hinweisen zu Dingen, die Sie machen, und solchen, die Sie nicht machen sollten, wenn Sie eine Webanwendung entwickeln.
Anhänge
Die Anhänge beschreiben zum einen die Installation der Websoftware (mit XAMPP) und geben zum anderen Hinweise auf PHP-Einstellungen, die Sie bei Bedarf ändern können. Außerdem finden Sie hier eine kurze Beschreibung der Inhalte der Download-Dateien.
Symbole, die in diesem Buch verwendet werden
Dieses Symbol begegnet Ihnen recht häufig. Solche Passagen wiederholen bestimmte Aussagen, weil sie so wichtig sind, dass Sie sie nicht vergessen sollten.
Dieses Symbol kündigt Informationen an, die relativ technisch sind und Dinge hinter den Kulissen erklären. Sie können diese Texte lesen, wenn Sie daran interessiert sind, den Blick auch mal ein wenig nach »links und rechts« schweifen zu lassen; Sie können diese Ausführungen aber auch ignorieren, da sie zum Verständnis der Programme oder anderer Informationen nicht unbedingt erforderlich sind.
Hier finden Sie zusätzliche Informationen für bestimmte Situationen oder Vorhaben. Es geht hier häufig um Erklärungen, wie manche Aufgaben schneller oder einfacher erledigt werden können. Daher lohnt es sich immer, einen Blick darauf zu werfen.
Dieses Symbol macht Sie darauf aufmerksam, dass Sie sich eine Menge Tipparbeit sparen können, wenn Sie die Skripte auf der Seite des Buches http://www.wiley-vch.de/ISBN352771443X herunterladen.
Warnungen sollten Sie immer lesen. Sie weisen auf Aktionen hin, die Sie unbedingt machen oder unbedingt umgehen sollten, um unschöne oder nicht erwünschte Konsequenzen zu vermeiden.
Wie es weitergeht
Dieses Buch folgt in etwa der Reihenfolge, in der Sie auch bei der Entwicklung Ihrer Webanwendung vorgehen würden. Wenn dieses Thema Neuland für Sie ist, sollten Sie am besten mit Teil I beginnen, da hier die grundlegende Zusammenarbeit von PHP und MySQL erklärt wird. In Teil II lernen Sie dann die Grundlagen von PHP kennen, da es schließlich um das Programmieren mit PHP geht. Danach erhalten Sie eine Einführung in den Umgang mit MySQL-Datenbanken, da Sie für die Kommunikation von PHP mit MySQL eine Datenbank brauchen. Nachdem Sie sowohl mit PHP als auch mit MySQL vertraut sind, wird in Teil V eine konkrete Webanwendung mit allem, was dazugehört, erstellt. Sofern Sie sich mit einem der genannten Themen bereits auskennen, können Sie direkt mit dem Kapitel einsteigen, das Ihnen bei Ihrem Vorhaben weiterhilft und/oder sich dem Thema widmet, zu dem Sie mehr erfahren wollen. Wenn Sie beispielsweise bereits mit PHP programmieren können, überspringen Sie einfach Teil II und beschäftigen sich mit den Kapiteln ab Teil III, in denen es speziell um MySQL-Datenbanken geht.
Teil I
Eine datenbankgestützte Webanwendung mit PHP und MySQL entwickeln
In diesem Teil …
mit PHP und MySQL arbeiten und ihr Zusammenspiel als Grundlage für eine datenbankgestützte Website nutzen.
Ihre Arbeitsumgebung einrichten und auf PHP und MySQL zugreifen.
Einführung in den Entwicklungsprozess.
Kapitel 1
Einführung in PHP und MySQL
In diesem Kapitel
Was eine datenbankgestützte Webanwendung ist
Die Funktionsweise von MySQL kennenlernen
Ein Überblick über PHP
Ein Blick auf das Zusammenspiel von PHP und MySQL
Sie sollen oder möchten also eine interaktive Website entwickeln. Vielleicht hat Ihr Chef Ihnen die Aufgabe anvertraut, den Onlinekatalog der Firma zu produzieren, vielleicht träumen Sie von einem eigenen Onlinehandel oder vielleicht möchten Sie Ihrer Schwester helfen, ihre Gemälde über das Internet zu verkaufen. Oder Sie haben sich bereit erklärt, eine Website für die Mitglieder Ihres Akrobatenvereins zu erstellen! Wie auch immer Ihre Zielsetzung aussehen mag, auf jeden Fall müssen Daten erfasst und gespeichert werden (zum Beispiel über Produkte, Mitgliederpasswörter und so weiter), das heißt, Sie brauchen eine Datenbank. Außerdem muss es sich um eine Website handeln, auf der die Benutzer unterschiedliche Informationen abfragen (zum Beispiel über ein bestimmtes Produkt) oder eingeben können (zum Beispiel die Mitgliedsdaten). Für all diese Aufgaben eignen sich nur datenbankbasierte Webanwendungen.
Ich gehe bei den weiteren Beschreibungen davon aus, dass Sie sich mit der Entwicklung statischer Webseiten auf der Basis von HTML (HyperText Markup Language) auskennen, aber neue Bereiche betreten, wenn es um das Erstellen interaktiver Webseiten und den Entwurf von Datenbanken geht. Sie haben zwar drei Computergurus um Rat gebeten, diese haben aber mit unverständlichen Fachbegriffen um sich geworfen, wobei immer wieder die Wörter »schnell«, »leicht« und »kostenlos« fielen. Das hat Sie neugierig gemacht. Sie wollen herausfinden, wie Websites mit PHP und MySQL aufgebaut werden können.
PHP und MySQL bilden ein perfektes Team. In diesem Kapitel lernen Sie die grundsätzliche Funktionsweise und die Vorteile der beiden Programmiersprachen für unterschiedliche Aufgabenstellungen kennen und werden erfahren, wie mit ihnen im Zusammenspiel dynamische Datenbankanwendungen erstellt werden können.
Was ist eine datenbankgestützte Webanwendung?
Eine Anwendung – auch App (Applikation) – ist ein Programm oder eine Gruppe von Programmen, die für den Gebrauch durch Endbenutzer (zum Beispiel Kunden, Mitglieder oder Akrobaten) gedacht ist. Wenn dieser Endbenutzer über einen Webbrowser mit der Anwendung kommunizieren kann, handelt es sich um eine Webanwendung. Wenn diese Webanwendung die langfristige Speicherung von Daten in einer Datenbank erforderlich macht, haben Sie es mit einer datenbankgestützten Webanwendung zu tun. In diesem Buch lernen Sie, wie Sie eine datenbankgestützte Webanwendung entwickeln, die über einen Browser wie etwa Microsoft Edge, Google Chrome oder Mozilla Firefox aufgerufen und verwendet werden kann.
Der Begriff »datenbankgestützte Webanwendung« ist ein ziemliches Monstrum, auch wenn er die Sache korrekt beschreibt. Daher werde ich in diesem Buch oft auch nur von Webanwendung, Website oder Webprojekt sprechen. Gemeint ist damit aber letztlich immer eine Webanwendung mit Datenbankunterstützung.
Mit einer datenbankgestützten Webanwendung sollen Benutzer (also Menschen, die das Internet benutzen, oft auch einfach als »User« bezeichnet) in die Lage versetzt werden, bestimmte Aufgaben/Vorhaben zu realisieren. Dabei kann es sich um eine relativ einfache Website handeln, die hauptsächlich Daten anzeigt (zum Beispiel Stellenangebote, wenn der Benutzer eine Jobbezeichnung auswählt), oder um ein komplexes Programm mit vielen Funktionen (zum Beispiel Buchbestellungen bei Amazon oder Auktionen bei eBay).
Eine datenbankgestützte Webanwendung besteht aus zwei Teilen:
Datenbank: Die Datenbank ist das Langzeitgedächtnis Ihrer Website. Ohne diese Datenbank könnte sie ihre Aufgabe nicht erfüllen. Aber eine Datenbank ist nur die eine Seite der Medaille.
Webanwendung: Die Webanwendung ist ein Programm oder eine Gruppe von Programmen, das beziehungsweise die die Aufgaben ausführt/ausführen. Das Programm erzeugt die Anzeige im Browserfenster, es macht Ihre Website interaktiv, indem es die vom Benutzer eingegebenen Daten verarbeitet, sie in der Datenbank speichert und bei Bedarf wieder ausliest (eine Datenbank ist nur nützlich, wenn man Daten darin »ablegen« und wieder »herausholen« kann).
Webseiten, die Sie zuvor nur mit HTML erstellt haben, sind statisch: Es gibt keinen interaktiven Austausch. Alle Benutzer betrachten dieselben Webseiten. Dynamische Webseiten hingegen machen die Kommunikation und den Datenaustausch zwischen Benutzern und Webseite möglich. Verschiedenen Benutzern werden möglicherweise verschiedene Webseiten angezeigt. So sieht sich ein Benutzer beim Besuch der Website eines Möbelgeschäfts vielleicht die Sofas an, während ein anderer zu den Seiten mit Couchtischen »blättert«. Nur mit HTML lassen sich keine dynamischen Webseiten entwickeln. Für diese Aufgabenstellung müssen Sie zusätzlich auf eine Programmiersprache zurückgreifen.
JavaScript ist eine der Sprachen, die gern für die Entwicklung dynamischer Webseiten eingesetzt wird. Sie lockt mit einer Reihe nützlicher Eigenschaften, zum Beispiel mit der Funktion mouseover (um eine Navigationsschaltfläche hervorzuheben, wenn der Mauszeiger darauf zeigt) oder der Möglichkeit, die in ein Webformular eingegebenen Daten zu validieren (also die Gültigkeit der Daten zu überprüfen). JavaScript eignet sich aber nicht für die Zusammenarbeit mit Datenbanken. Daher würden Sie diese Sprache nie dafür einsetzen, um Daten eines Webformulars in einer Datenbank zu speichern. Im Unterschied dazu eignet sich PHP hingegen hervorragend für solche Aufgaben. Es kann die Daten eines Onlineformulars einlesen, validieren und zur Datenbank übertragen. Alle Codes für die Kommunikation mit Datenbanken sind in diesem Buch in PHP geschrieben.
Die Datenbank: Daten speichern
Das Herz eines datenbankgestützten Webprojekts ist die Datenbank, das Langzeitgedächtnis (hoffentlich besser funktionierend als mein eigenes), das die Daten für die Website speichert. Sie können sich eine Datenbank als ein elektronisches Ordnungssystem vorstellen, das Daten so ablegt, dass sie effizient verwaltet und bei Bedarf wiedergefunden werden können. Datenbanken können klein und einfach strukturiert sein, wie etwa eine Datenbank mit Titeln und Autorennamen Ihrer gesamten Büchersammlung, aber auch groß und komplex, wie zum Beispiel die Datenbank, die Amazon zum Speichern der Daten nutzt.
Der Inhalt von Datenbanken kann sehr unterschiedlich sein. Ein Onlinekatalog basiert auf einer Datenbank mit Produktinformationen. Eine Website für Mitglieder braucht eine Datenbank, die die verschiedenen Angaben über Mitglieder speichert. Die Website einer Jobbörse nutzt eine Datenbank (oder eventuell zwei Datenbanken) mit Daten über Stellenangebote und Lebensläufe der Bewerber. Die zu speichernden Daten können vielleicht so oder ähnlich überall im Internet gesammelt werden oder auch nur ganz speziell nur für Ihr Projekt benötigt werden.
Der Begriff Datenbank bezieht sich auf eine Datei oder eine Gruppe von Dateien, die die aktuellen Daten speichert. Auf die Daten kann über ein sogenanntes DBMS (Database Management System) zugegriffen werden. Fast alle DBMS-Programme sind heutzutage RDBMS (relationale Datenbank-Management-Systeme), in denen die Daten in relationalen Tabellen (Tabellen, die miteinander verknüpft sind) organisiert und gespeichert werden.
In diesem Buch wird als RDBMS das Datenbanksystem MySQL benutzt, weil es für Webprojekte besonders geeignet ist. Die Vorteile von MySQL beschreibe ich im Abschnitt »MySQL, die Datenbank meiner Wahl« weiter hinten in diesem Kapitel. In Kapitel 3 sowie Kapitel 6 geht es dann um die Organisation und Entwicklung einer MySQL-Datenbank.
Wenn von MySQL die Rede ist, handelt es sich heute mittlerweile um eine der beiden Varianten MySQL oder die weitgehend kompatible Variante MariaDB. Anfangs sollten Sie dabei möglichst eine für das verwendete System zusammengestellte Version verwenden. Momentan hat MariaDB die Nase vorn, was aber nicht zwingend so bleiben muss.
Die Webanwendung: Daten in eine Datenbank übertragen und auslesen
Damit eine Datenbank nützlich ist, muss sie Daten übernehmen und wieder ausspucken können. Als Werkzeug setzen Sie dazu Programme ein, die mit der Datenbank kommunizieren, um Daten zu speichern und auszulesen. Ein Programm muss sich mit der Datenbank verbinden und kann dann beispielsweise den Befehl erteilen: »Nimm diese Daten und speichere sie an einem bestimmten Ort.« Ein anderes Programm stellt vielleicht die Anfrage: »Finde diese Daten und übertrage sie an mich.« Die Programme werden ausgeführt, sobald der Benutzer Daten mit der Webseite austauscht. Dies geschieht zum Beispiel, wenn er ein Webformular ausfüllt und dann auf die Schaltfläche Senden (oder irgendeinen anderen Submit-Button) klickt. Die eingegebenen Daten werden verarbeitet und in der Datenbank gespeichert.
Mailinglisten, Foren und soziale Netzwerke
Nützliche Hilfestellung können Sie in Mailinglisten, Foren und/oder sozialen Netzwerken finden, in denen Beteiligte öffentlich die verschiedensten Themen diskutieren. Solche Plattformen existieren zu mehr oder weniger jedem nur denkbaren Thema: Tennis, Philosophie der Antike, Kochen, die Beatles, Schäferhunde, Politik etc. Hier werden die Daten über Verteilerlisten an die E-Mail-Adressen der registrierten Mitglieder versandt, die sich dann an der Diskussion beteiligen können.
Soziale Netzwerke funktionieren in diesem Zusammenhang ähnlich, wobei die Beiträge in den verschiedenen Sammlungen allgemein und öffentlich (oder nur von den jeweiligen Mitgliedern) in den Gruppen oder Communities diskutiert und/oder kommentiert werden können.
Soziale Netzwerke werden oftmals gesponsert. Sie können von Einzelpersonen oder von Organisationen betrieben werden. Viele Softwarevertreiber bieten Plattformen an, die sich mit ihrer Software befassen, Universitäten pflegen die verschiedensten Plattformen rund um den Lehrstoff. Benutzer können oftmals selbst eigene Themen initiieren oder sich für diese anmelden. Derartige Diskussionsplattformen können echte Fundgruben sein, da Hunderte, manchmal Tausende von Benutzern an einer Diskussion teilnehmen, oft auch die Entwickler, Händler und Mitarbeiter des technischen Supports. In der Regel sind Sie mit Ihrem Problem ja nicht allein und ganz egal welche Frage Sie haben, irgendein Diskutant wird vermutlich eine Lösung parat haben. Meistens erhalten Sie binnen kürzester Zeit eine Antwort. Zusätzlich erhalten Sie ein Archiv, in dem Sie stöbern können. Sofern Sie eine für Sie neue Software benutzen, können Sie viel über das Programm herausfinden, indem Sie einfach die Beiträge der Mailingliste eine Zeit lang verfolgen.
Auch zu PHP und MySQL beziehungsweise MariaDB gibt es Communities und Mailinglisten; für MariaDB zum Beispiel auf der Seite https://lists.launchpad.net/maria-discuss/, für PHP auf http://www.php.net/mailing-lists.php (in englischer Sprache). Eine Mailingliste in deutscher Sprache ist zu finden auf http://lists.phpbar.de/mailman/listinfo/dbs.
Generell sollten Sie sich mit kombinierten Begriffen auf die Suche begeben und für Sie interessante Fundstellen als Lesezeichen in Ihren Browser aufnehmen. »mailing list mariadb« wäre ein passender Suchbegriff für MariaDB und Mailinglisten. Unter https://plus.google.com/communities/107672744094239537644 finden Sie bei Google+ die Community für MariaDB.
Suchen Sie sich ein soziales Netzwerk als Plattform aus, das zum Thema passt. Google+ steht im Ruf, ein Netzwerk für »Intellektuelle« zu sein, was aber vornehmlich nur bedeutet, dass es sich auch als Plattform für längere Beiträge und anspruchsvollere Themen und nicht nur für Kurzmitteilungen eignet.
MySQL, die Datenbank meiner Wahl
Bei MySQL und dessen Fork MariaDB handelt es sich um ein schnelles und einfach zu benutzendes relationales Datenbanksystem (RDBMS). Geschwindigkeit stand für die Entwickler von Anfang an im Mittelpunkt des Interesses. Zugunsten dieser Zielsetzung blieben zwar einige der Features, die die Konkurrenzprogramme (zum Beispiel Oracle oder Sybase) an Bord haben, auf der Strecke, aber dennoch bieten MariaDB und MySQL alles, was die Mehrheit der Datenbankentwickler braucht. Verglichen mit der Konkurrenz ist es einfacher zu installieren und einfacher einzusetzen. Und natürlich spricht der Preis für MySQL und MariaDB.
MySQL wurde anfangs von einem schwedischen Unternehmen entwickelt, später aber von Sun Microsystems übernommen. Nach seinem Erscheinen 2009 wurde MariaDB, das durch eine Abspaltung (Fork) aus MySQL entstanden ist, schnell von vielen Firmen als Standardinstallation übernommen. Weitere Angaben dazu finden Sie jeweils aktuell in der Wikipedia.
Vorteile von MySQL/MariaDB
Die Datenbank MySQL ist bei Webentwicklern sehr beliebt, vor allem weil sie so schnell und klein ist. Hinzu kommt, dass sie als Open Source kostenlos zur Verfügung steht. Hier ein Überblick über die wichtigsten Vorteile:
Sie ist schnell. Die Entwickler legten von Anfang an viel Wert auf Geschwindigkeit.
Sie ist günstig. Mit der GPL-Lizenz sind MySQL und MariaDB umsonst, die Gebühr für eine kommerzielle Lizenz ist niedrig.
Sie ist einfach zu nutzen. Schon mit wenigen Anweisungen in der SQL-Sprache können Sie eine SQL-Datenbank erstellen und sie einsetzen. SQL ist die Standardsprache für die Kommunikation mit RDBMS. In Kapitel 7 lernen Sie die SQL-Sprache näher kennen.
MySQL steht für viele Betriebssysteme bereit. Sie können die Datenbank zum Beispiel auf Windows, Linux, Mac OS, den meisten Varianten von Unix (einschließlich Solaris und AIX), FreeBSD und Irix einsetzen.
Sie steht bei Webhosts und auf NAS-Laufwerken zur Verfügung. Wenn Ihre Website von einem Provider gehostet wird, kann MariaDB oder MySQL normalerweise ohne Extrakosten genutzt werden. NAS-Laufwerke (Network Attached Storage) führender Hersteller stellen eine MySQL-Variante auf ihren Speicherlaufwerken bereit. In Kapitel 2 gehe ich ein wenig auf die Verwendung von MySQL bei einem Webhost ein.
Es gibt umfangreiche Unterstützung und Hilfestellung. Viele Nutzer stellen via Mailinglisten, in einschlägigen Foren und/oder in sozialen Netzwerken ihr Know-how zur Verfügung. Auch SQL-Entwickler nutzen derartige Plattformen häufig.
Die Datenbank ist sicher. Das flexible Autorisierungssystem gewährt spezifischen Nutzern oder Gruppen von Nutzern ausgewählte oder auch alle Datenbankrechte (zum Beispiel das Recht, eine Datenbank anzulegen oder Daten zu löschen). Die Passwörter sind verschlüsselt.
Die Datenbanken können sehr groß sein. MySQL kann mit mehr als 50 Millionen Zeilen umgehen. Die Standardbegrenzung für eine Tabelle liegt bei vier Gigabyte, aber Sie können diese Grenze theoretisch bis auf acht Millionen Terabyte (TB) hochschrauben (sofern Ihr Betriebssystem das hergibt).
MySQL kann benutzerdefiniert angepasst werden. Aufgrund der Open-Source-GPL-Lizenz können Programmierer die MySQL-Software so anpassen, dass sie perfekt auf ihre spezifischen Anforderungen zugeschnitten ist.
Der Einfachheit halber werde ich von nun an vorwiegend nur noch von »MySQL« sprechen. Denken Sie daran, dass es sich hierbei im konkreten Einsatz um MySQL und/oder MariaDB handelt.
Wie MySQL funktioniert
MySQL besteht aus dem MySQL-Server, diversen Hilfsprogrammen, die Sie bei der Verwaltung der MySQL-Datenbank unterstützen, sowie einigen Programmen, die der MySQL-Server benötigt (die Sie aber nicht kennen müssen). Der Kern des Systems ist der MySQL-Server.
Der MySQL-Server ist der Manager des Datenbanksystems. Er steuert und verarbeitet alle Datenbankbefehle. Wenn Sie beispielsweise eine neue Datenbank anlegen wollen, senden Sie an den MySQL-Server eine Nachricht mit dem Wortlaut »Erstelle eine neue Datenbank mit dem Namen Neuedaten«. Der MySQL-Server wird aktiv und legt in seinem Datenverzeichnis einen Unterordner an, nennt ihn Neuedaten und schiebt die notwendigen Dateien im erforderlichen Format in diesen Ordner. Ähnlich gehen Sie vor, wenn Sie Daten hinzufügen möchten; Sie senden eine Nachricht an den MySQL-Server, übermitteln die Daten und teilen dem Server mit, wohin die Daten gehören. In Teil III dieses Buches erfahren Sie, wie Sie via SQL (Structured Query Language) mit dem Server kommunizieren.
Bevor Sie einen Befehl an den MySQL-Server schicken können, muss der Server laufen und auf Anfragen »lauern«. Standardmäßig ist der Server so eingerichtet, dass er mit dem Einschalten des Computers seine Arbeit aufnimmt und die ganze Zeit läuft. Aber diese Einstellung ist nicht zwingend. Sie können den Server bei Bedarf auch jeweils manuell starten. Wenn der Server läuft, achtet er kontinuierlich auf Nachrichten, die für ihn bestimmt sind.
Mit dem MySQL-Server kommunizieren
Die gesamte Interaktion mit der Datenbank basiert auf Befehlen, die an den Server geschickt werden. Für den Versand gibt es verschiedene Möglichkeiten, aber in diesem Buch geht es in erster Linie um die Übermittlung per PHP. Zum Repertoire von PHP gehören spezifische Anweisungen, mit denen Befehle an den MySQL-Server geschickt werden.
Der MySQL-Server muss die an ihn gerichteten Befehle verstehen können. Für die Kommunikation benutzen Sie SQL, die Standardsprache, mit der viele RDBMS umgehen können. Auch der MySQL-Server »spricht« SQL. PHP ist weniger sprachbegabt und versteht kein SQL, was aber auch nicht notwendig ist: PHP stellt lediglich die Verbindung mit dem MySQL-Server her und leitet die SQL-Anweisungen an den Server weiter. Der MySQL-Server interpretiert den »SQL-Teil« und folgt den darin enthaltenen Anweisungen. Dann schickt er eine Antwort, gibt den Status aus oder teilt mit, was er gemacht hat (oder meldet einen Fehler, wenn er den Befehl nicht versteht oder ihn nicht ausführen kann).
In diesem Buch wird auch phpMyAdmin vorgestellt. Diese PHP-Software ist eine gängige Administrationsoberfläche für MySQL, die Sie auf Ihrem eigenen Computer nutzen können. Außerdem stellen die meisten Hosting-Anbieter und NAS-Laufwerke phpMyAdmin zur Verfügung.
In Teil III erfahren Sie genauer, wie Sie SQL-Befehle schreiben und an MySQL senden.
PHP bewegt Daten
Mit PHP, einer Programmiersprache, die speziell für das Internet entwickelt wurde, haben Sie das richtige Instrument zur Entwicklung dynamischer Websites an der Hand. Dank seiner vielen Features und Funktionen, die Webdesign und Programmierung leichter gemacht haben, wird PHP heute für über 70 Prozent der Websites eingesetzt. Diese Beliebtheit belegt insbesondere auch, dass PHP seine Aufgabe bestens erfüllt.
PHP steht für PHP HyperText Preprocessor. Zu seinen Anfangszeiten (entwickelt wurde es von einem Mann namens Rasmus Lerdorf) hieß es Personal Home Page Tools. Später wurde es in PHP umgetauft, da dieser Name besser zu den ausgereifteren Funktionen passte.
Die Syntax von PHP ähnelt der Sprache C, sodass Sie gut gerüstet für PHP sind, wenn Sie mit C vertraut sind. PHP ist dabei sogar einfacher als C, da es einige der komplizierteren Konzepte von C nicht nutzt und keine hardwarenahe Programmierung unterstützt. Als Programmiersprache speziell für dynamische Websites muss PHP das auch nicht leisten.
Die Stärke von PHP liegt vor allem in seiner Fähigkeit zur Zusammenarbeit mit Datenbanken. Fast jede Datenbank wird von PHP unterstützt. PHP stellt die Verbindung zur Datenbank her und kommuniziert mit ihr. Wie PHP diese Verbindung technisch bewerkstelligt, müssen Sie nicht wissen. Sie teilen PHP einfach den Namen und den Ort der Datenbank mit, und PHP regelt den Rest: Es reicht Ihre Befehle weiter und liefert die Antwort der Datenbank zurück.
Sie finden im Internet umfassende Hilfe zu PHP, zum Beispiel auf der Website von PHP (www.php.net) oder unter der Adresse http://de.wikibooks.org/wiki/Websiteentwicklung:_PHP. Schauen Sie auch mal auf die Seite http://news.php.net, ein Webportal zu den PHP-Mailinglisten.
Vorteile von PHP
Wegen seiner vielen Vorteile wächst die Beliebtheit von PHP kontinuierlich:
PHP ist schnell. Da PHP in den HTML-Code integriert wird, ist die Reaktionszeit kurz.
PHP ist umsonst. PHP ist der beste Beweis dafür, dass man nicht immer viel Geld für Qualität zahlen muss.
Die Benutzung von PHP ist einfach. PHP beinhaltet viele Features und Funktionen, die für die Entwicklung einer dynamischen Website erforderlich sind. PHP-Anweisungen können problemlos in HTML-Code eingebettet werden.
PHP funktioniert mit vielen Betriebssystemen. Sie können PHP mit Windows, Linux, Mac OS und den meisten Unix-Varianten nutzen.
PHP wird von vielen Webhosts und NAS-Laufwerken bereitgestellt. Wenn Sie Ihre Website bei einem Webspace-Anbieter oder über ein eigenes NAS-Laufwerk veröffentlichen werden, gibt es PHP zu meist kostenlos dazu.
Es gibt jede Menge Hilfe und Unterstützung. Viele Nutzer stellen in Mailinglisten und in Foren ihr Wissen zur Verfügung.
PHP ist sicher. Aufgrund der regen Open-Source-Community werden Sicherheitslücken schnell geschlossen (sicherheitsrelevante Fehler, die der Programmierer beim Einsatz von PHP einbaut, kann natürlich auch PHP nicht ausbügeln).
PHP ist für die Unterstützung von Datenbanken programmiert. PHP bietet Funktionen, die speziell für die Zusammenarbeit mit spezifischen Datenbanken entwickelt wurden.
PHP lässt sich benutzerdefiniert anpassen. Aufgrund der Open-Source-Lizenz können Programmierer PHP so anpassen, dass es ihren spezifischen Anforderungen gerecht wird.
Wie PHP funktioniert
PHP ist eine integrierte Skriptsprache, wenn es für Webseiten eingesetzt wird. PHP-Anweisungen werden in den HTML-Quelltext eingebettet. Dazu nutzen Sie spezielle Tags, ähnlich, wie gewöhnliche HTML-Tags. Skripte mit integriertem PHP-Code schreiben und bearbeiten Sie nicht anders als reguläre HTML-Seiten.
PHP arbeitet mit dem Webserver zusammen. Der Webserver ist die Software, die die Webseiten publiziert. Wenn Sie eine URL in die Adressleiste Ihres Browsers eingeben, übertragen Sie eine Nachricht zum Webserver, mit der Aufforderung, Ihnen eine HTML-Datei zu senden. Der Webserver reagiert und schickt Ihnen die angeforderte Datei. Ihr Browser liest die HTML-Datei und zeigt sie im Browserfenster an. Auch wenn Sie einen Link auf einer Webseite anklicken oder per Mausklick auf einen »Submit-Button« ein Webformular senden, stellen Sie an den Webserver die Anfrage, Ihnen eine bestimmte Datei zu liefern.
Wenn PHP im Spiel ist, rechnet der Webserver automatisch damit, dass Dateien mit einer bestimmten Dateierweiterung PHP-Anweisungen enthalten. Meist lautet die Erweiterung .php, seltener .phtml, aber theoretisch könnte auch jede andere Erweiterung benutzt werden. Erhält der Webserver die Anfrage nach einer Datei mit der festgelegten Erweiterung, überträgt er den HTML-Teil so, wie er in der Datei steht, an den Browser; der PHP-Teil hingegen wird zunächst ausgeführt und dann gesendet.
Wenn PHP-Anweisungen verarbeitet werden, schickt der Webserver nur das Ergebnis an den Browser. Die PHP-Anweisungen selbst sind in dem Ergebnis nicht enthalten. Dies bedeutet, dass PHP-Code für den Nutzer nicht einsehbar ist. Hier ein einfacher PHP-Befehl:
<?php echo "<p>Hallo Welt</p>"; ?>
<?php ist das öffnende PHP-Tag und ?> das schließende Tag. echo ist der PHP-Befehl, der PHP dazu auffordert, den nachfolgenden Text auszugeben. PHP arbeitet die Anweisung ab und gibt Folgendes aus:
<p>Hallo Welt</p>
Dies ist ganz normales HTML. Es wird an den Browser des Benutzers geliefert. Der Browser interpretiert diesen »Textschnipsel« als HTML und zeigt eine Webseite mit einer Zeile an: Hallo Welt. Der PHP-Befehl wird nicht an den Browser mitgeschickt, sodass der Benutzer ihn nicht zu sehen bekommt.
PHP ist nicht unmittelbar Bestandteil aller Webserver, kann aber mit zusammen mit vielen der populären Server genutzt werden. Da es ursprünglich als Projekt der Apache Software Foundation entwickelt wurde, arbeitet es zwar am besten mit dem Webserver Apache zusammen, es lassen sich aber auch Server wie beispielsweise Microsoft IIS verwenden.
Obwohl PHP mit diversen Webservern zusammenarbeiten kann, funktioniert es am besten mit Apache. Wenn Sie wählen können, welcher Webserver in Ihrer Organisation eingesetzt wird, sollten Sie sich für Apache entscheiden. Apache ist kostenlos erhältlich, Open Source, stabil und populär. Seit 1996 ist Apache der beliebteste Webserver im Internet. Er läuft auf Windows, Linux, Mac OS und den meisten Varianten von Unix.
MySQL und PHP, ein perfektes Paar
MySQL und PHP werden häufig zusammen eingesetzt und gelegentlich als das dynamische Duo bezeichnet. MySQL/MariaDB stellt die Datenbank bereit, und PHP liefert die Programme für Ihr Webprojekt.
Vorteile der Beziehung
Als Pärchen bieten MySQL und PHP diverse Vorteile:
Sie sind kostenlos. Kann es ein besseres Preis-Leistungs-Verhältnis geben?
Sie sind weborientiert. Eigens für die Benutzung von Websites geschaffen, bieten sie spezielle Features für die Entwicklung dynamischer Websites.
Ihre Benutzung ist einfach. Beide sind so konzipiert, dass eine Website relativ schnell und problemlos entwickelt werden kann.
Sie sind schnell. Für beide war Geschwindigkeit das primäre Ziel. Daher liefern sie die angeforderten Webseiten fast konkurrenzlos schnell zum Browser des Users.
Die Kommunikation zwischen beiden funktioniert bestens. Spezielle PHP-Befehle dienen der Kommunikation mit MySQL. Die technischen Details und Feinheiten müssen Sie nicht kennen, die überlassen Sie einfach PHP.
Wie die Zusammenarbeit von MySQL und PHP funktioniert
In einem datenbankgestützten Webprojekt teilen sich PHP und MySQL die Aufgaben: PHP liefert die Programme und MySQL die Datenbank. Mit PHP schreiben Sie die Skripte, die die Aufgaben der Website definieren und ausführen. PHP kann für ganz einfache Aufgaben (wie etwa die Anzeige einer Webseite) oder für komplizierte Aufgaben eingesetzt werden (wie etwa die Annahme und Bestätigung von Daten, die der Benutzer in ein HTML-Formular eingegeben hat). Eine Aufgabe muss Ihr Programm auf jeden Fall ausführen: Daten an eine Datenbank senden und Daten aus einer Datenbank auslesen. Das ist für PHP kein Problem. Es kennt (vordefinierte) Funktionen, die genau das leisten: Daten an die MySQL-Datenbank übermitteln und Daten aus dieser Datenbank auslesen.
PHP-Befehle und -Anweisungen werden mit PHP-Tags in die HTML-Datei integriert. Sofern Daten gespeichert und ausgelesen werden müssen, verwenden Sie spezielle PHP-Befehle für die Kommunikation mit der SQL-Datenbank. Um zum Beispiel die Verbindung mit der Datenbank herzustellen, verwenden Sie einen Befehl, der die gewünschte Datenbank und das Passwort angibt. Die Datenbank muss nicht auf dem gleichen Computer liegen wie die Website; die Zusammenarbeit funktioniert mit allen Datenbanken irgendwo im Netz. Mit einem anderen PHP-Befehl schicken Sie eine SQL-Anweisung an MySQL, die angibt, welche Aufgabe ausgeführt werden soll. MySQL antwortet mit einer Statusmeldung, aus der zu ersehen ist, ob die Aktion erfolgreich war. Sofern Probleme auftreten, wird eine Fehlermeldung zurückgegeben. Wenn die SQL-Anweisung Informationen aus der Datenbank auslesen soll, werden die angefragten SQL-Daten zurückgeliefert und von PHP temporär gespeichert, sodass sie für die Verwendung in Programmen verfügbar sind. Sie können die ausgelesenen Daten anschließend zum Beispiel auf einer Webseite präsentieren oder eine Statusmeldung im Browser ausgeben, die den Nutzer darüber informiert, dass seine Formulareingaben gespeichert wurden.
Als RDBMS (Relational Database Management System) kann MySQL komplexe Informationen speichern. PHP kann komplizierte Operationen mit Daten durchführen, sowohl mit den Daten, die vor der Übertragung in die Datenbank bearbeitet werden müssen, als auch mit den ausgelesenen Daten, die vor der Ausgabe im Browser manipuliert werden müssen. Zusammen bilden MySQL und PHP ein Team, mit dem sich anspruchsvolle und ausgefeilte datenbankbasierte Webprojekte realisieren lassen.
Mit Änderungen auf dem Laufenden bleiben
Sowohl PHP als auch MySQL sind Open-Source-Programme. Wenn Sie bisher nur Software von großen Anbietern wie Microsoft, Macromedia oder Adobe verwendet haben, werden Sie feststellen, dass es sich bei Open-Source-Software um eine eigene Spezies handelt. Sie wird von Programmierern entwickelt, die sich in ihrer Freizeit und nur zum Spaß und unentgeltlich den Projekten widmen.
Open-Source-Software wird regelmäßig gewartet und ändert sich daher oft häufiger, als Sie es von kommerziellen Programmen gewohnt sind. Auf Probleme wird in der Regel schnell reagiert. Wenn zum Beispiel ein sicherheitsrelevantes Problem auftaucht, erscheint mitunter innerhalb eines Tages eine neue Version, die diese Sicherheitslücke stopft. Sie erhalten keine Hochglanzbroschüren und werden auch nicht über ganzseitige Anzeigen stolpern, in denen neue Versionen bereits ein Jahr vor Erscheinen angekündigt werden. Wenn Sie sich also nicht die Mühe machen und selbst auf dem Laufenden halten, kann es vorkommen, dass Sie eine neue Version oder Informationen über ein gravierendes Sicherheitsproblem einfach verpassen.
Schauen Sie regelmäßig auf den PHP- und MySQL-Webseiten vorbei. Hier werden Informationen veröffentlicht, die für Sie wichtig sind. Denken Sie auch daran, online Mailinglisten, Foren und/oder soziale Netzwerke zu nutzen (lesen Sie dazu den Kasten am Anfang des Kapitels).
PHP-Versionen
Die aktuelle Version von PHP ist PHP 7. Programme, die noch PHP 5 nutzen, werden zunehmend weniger. Wenn Sie ein neues PHP-Programm schreiben, sollten Sie möglichst PHP 7 einsetzen, da dieses deutlich schneller als frühere Versionen ist.
Da die Entwicklung von PHP 6 eingestellt wurde, kam es zu einem Versionssprung von 5 auf 7, wobei die geplanten Neuerungen der Version 6 bereits in die Versionen 5.3 und 5.4 eingeflossen sind.
Wenn Sie ein PHP-Skript bearbeiten müssen, um es auf einen neueren Stand zu bringen, sollten Sie sich beispielsweise über die folgenden Änderungen informieren:
Die Einstellungen register_globals und magic_quotes gibt es nicht mehr.
Lange Namen wie zum Beispiel HTTP_POST_VARS für globale Arrays gibt es nicht mehr.
Wie bereits bei JavaScript wird es auch in PHP einen strikten Modus geben, der die laufende Änderung von Datentypen verhindert:declare(strict_types=1);
Array-Konstanten
Anonyme Klassen
Versionen MySQL und MariaDB
5.5 lautete die Versionsnummer bei der vorigen Auflage dieses Buches. Und dabei ist es bis in den Mai 2017 hinein fast geblieben. Abgesehen von der einen oder anderen fortgeschrittenen Funktion hat sich daher an den Befehlen wenig geändert.
Weil in MySQL die Neuerungen von Sun zunehmend nur in die kommerziellen Versionen integriert wurden, wechselten viele Distributionen zu MariaDB. Hier wurde dann von der Version 5.5.56 auf 10.0 gesprungen. Die Beispiele in diesem Buch sollten Sie problemlos mit allen halbwegs gängigen Versionen nachvollziehen können.
Dabei ist es aber natürlich nicht empfehlenswert, Webprojekte mit veralteten SQL-Versionen zu betreiben.
Kapitel 2
Die Arbeitsumgebung einrichten
In diesem Kapitel
PHP und MySQL auf eigenen Servern oder Webhosts verwenden
Die Neuentwicklung Ihrer Website
PHP und MySQL testen
Nachdem Sie sich nun entschieden haben, PHP und MySQL zur Entwicklung Ihrer interaktiven Website zu nutzen, können Sie mit der Arbeit beginnen. Als Erstes richten Sie sich Ihre Arbeitsumgebung ein. Darum geht es in diesem Kapitel. Sie erfahren, welche Optionen zur Verfügung stehen und welche Werkzeuge und Programme für Ihre Webanwendung benötigt werden.
Anatomie einer Website
Da Sie vermutlich bereits einfache Websites erstellt haben, wissen Sie natürlich, worum es sich dabei handelt: eine Sammlung von HTML-Dokumenten, die als Text zum Browser übertragen werden, damit dieser sie als Webseiten anzeigen kann. Der Speicherort der Dateien auf dem Computer ist der physikalische Ort Ihrer Website.
Sie werden wahrscheinlich den Begriff des Website-Besuchers kennen, der ein wenig irreführend ist. Websites werden eigentlich nicht »besucht«. Wenn jemand die Adresse (also die URL, Abkürzung für Uniform Resource Locator) einer Webseite in die Adressleiste des Browsers eingibt, verschickt der Browser über das Internet die Anfrage, die zu dieser Adresse gehörende HTML-Datei ausgeliefert zu bekommen. Die Software auf dem Webserver reagiert auf diese Anfrage und antwortet mit der Übertragung der angeforderten Webseite an den Browser, der sie dann anzeigt.
Um eine Website ins Netz zu stellen, legen Sie die Textdateien mit dem HTML-Code an einem Ort ab, auf den Benutzer zugreifen können. So ähnlich funktionieren auch datenbankbasierte Webanwendungen. Der Unterschied besteht prinzipiell lediglich darin, dass derartige Dateien nicht nur HTML-Code, sondern auch PHP-Code enthalten.
Für die dynamischen Webanwendungen, um die es in diesem Buch geht, brauchen Sie als Software:
Einen Webserver: Die Software, die Ihre Webseite veröffentlicht, also auf die Anfragen des Browsers der Benutzer reagiert und die gewünschten Dateien ausliefert
MySQLoder MariaDB: Das RDBMS (Relational Database Management System), das die Daten für Ihr Webprojekt organisiert und speichert
PHP: Die Sprache, mit der Sie die Programme schreiben, die für die dynamische Funktionalität Ihrer Website sorgen
Diese drei Komponenten werden in Kapitel 1 beschrieben.
Eine Website erstellen
Eine Website ist eine Sammlung von Textdateien, die an einem Ort gespeichert werden, über den Benutzer auf sie zugreifen können. Wenn Dateien so gespeichert werden, dass sie öffentlich erreichbar sind, spricht man auch davon, dass Websites veröffentlicht oder auch publiziert werden. Dabei handelt es sich jedoch eigentlich um den letzten Schritt und nicht um den ersten. Schließlich möchten Sie die Öffentlichkeit nicht mit Websites beglücken, die noch unfertig und wenig präsentabel sind.
Damit Ihre Webseiten nicht halb fertig und voller Fehler im Internet betrachtet werden können, sollten Sie diese zunächst nicht öffentlich entwickeln. Während der Entwicklungsphase testen Sie die Funktionalität Ihrer Webseiten und beheben eventuelle Probleme. Diese Aufgaben erledigen Sie besser im »stillen Kämmerlein« ohne Zuschauer. Deshalb brauchen Sie für Ihre Website also (mindestens) zwei Orte:
Ihre Präsentationsplattform: Der öffentliche Server, auf dem Ihre Website letztlich gespeichert ist und veröffentlicht wird. Der Ort, an dem die Öffentlichkeit Ihre Website betrachtet.
Ihre Entwicklungsumgebung: Der Ort, an dem Sie Ihre Webseiten entwickeln. Wenn die Arbeit an den einzelnen Seiten abgeschlossen ist, verschieben Sie sie in die Präsentationsumgebung.
In der Entwicklungsumgebung veröffentlichen Sie Ihre Webseiten erst einmal nur intern. Vorerst sollen Ihre noch unausgegorenen Webseiten vor der Veröffentlichung noch vor den Augen der Welt verborgen bleiben. Erst wenn alles zumindest so gut wie komplett fertig ist, sollten Sie Ihre Seiten ins öffentliche Netz verschieben.
Sie müssen also entscheiden, wo Sie Ihre Website veröffentlichen und wo Sie sie entwickeln. In den nächsten Abschnitten erfahren Sie alles Notwendige, um diese Entscheidung treffen zu können.
Entscheiden, wo die Website veröffentlicht werden soll
Zunächst sollten Sie entscheiden, wo Sie die Website veröffentlichen möchten. Natürlich muss der betreffende Computer mit dem Internet verbunden sein und er muss über die erforderlichen Programme verfügen: einen Webserver, PHP und MySQL. Für die Veröffentlichung kommt meistens eine der folgenden Optionen infrage:
Server eines Webhosts: Die Website liegt auf dem Computer Ihres Webhosts, also Ihres Webspace-Anbieters. Er installiert und unterhält die Website-Software und stellt den Speicherplatz zur Verfügung, auf dem Sie Ihre Dateien für die Website ablegen können.
Eine Produktionsumgebung, die auf einem Firmenserver eingerichtet ist: Das Unternehmen – normalerweise die IT-Abteilung – installiert und verwaltet die Website-Software. Ihr Job besteht darin (und darum geht es ja in diesem Buch), die Webseiten zu programmieren, entweder als Mitarbeiter der Firma oder als Auftragnehmer.
Eine Produktionsumgebung, die Sie selbst einrichten: Sie selbst installieren und pflegen die Software. Dabei kann es sich um eine Produktionsumgebung handeln, die Sie auf Ihrem eigenen Computer oder vielleicht auch auf dem Computer eines Kunden einrichten.
Seit etwa 2010 sind NAS-Laufwerke
