PHP & MySQL für Dummies - Janet Valade - E-Book

PHP & MySQL für Dummies E-Book

Janet Valade

0,0
17,99 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

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:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 582

Veröffentlichungsjahr: 2017

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



7-8

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

Inhaltsverzeichnis

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

Abbildungsverzeichnis

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

Seitenverzeichnis

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

9-10

Ü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.

21-26

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.

27-28

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.

29-40

Kapitel 1

Einführung in PHP und MySQL

In diesem Kapitel

Was eine datenbankgestützte Web­anwendung 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.

41-68

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