O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

PHP 5.5 und MySQL 5.6, 3rd Edition

Book Description

Mit diesem Buch meistern Sie elegant den Einstieg in die Programmierung dynamischer Webseiten mit PHP & MySQL. Anhand vieler Beispiele und Übungen und immer gut verständlich vermittelt Ihnen die erfahrene Autorin Florence Maurice sowohl Grundlagen als auch fortgeschrittene Techniken für die Entwicklung sicherer Websites. Nach der Lektüre sind Sie in der Lage, mit PHP & MySQL einfache datenbankgestützte Anwendungen zu erstellen, und verstehen darüber hinaus den Code von anderen Tools oder Content-Management-Systemen.

Table of Contents

  1. 1 Das Prinzip dynamischer Webseiten
  2. 2 Die Entwicklungsumgebung einrichten
    1. 2.1 Verschiedene Entwicklungsumgebungen
    2. 2.2 XAMPP-Installation unter Windows
    3. 2.3 XAMPP für Linux
    4. 2.4 XAMPP für Mac OS
    5. 2.5 XAMPP testen
    6. 2.6 Erste Beispieldatei
    7. 2.7 Mögliche Probleme beim Aufruf des ersten PHP-Dokuments
    8. 2.8 PHP konfigurieren
    9. 2.9 Mit dabei seit PHP 5.4 – der integrierte Webserver
    10. 2.10 Mehr PHP: Erweiterungen und PEAR
    11. 2.11 Zusammenfassung
  3. 3 HTML und CSS – Grundlagen
    1. 3.1 Grundstruktur
    2. 3.2 Inhalte mit Überschriften, Absätzen und Listen strukturieren
      1. 3.2.1 Aufzählungen
    3. 3.3 Sonderzeichen und Zeichenkodierung
    4. 3.4 Verknüpfungen – Links und Bilder
      1. 3.4.1 Links
      2. 3.4.2 ... und Bilder
    5. 3.5 Daten übersichtlich über Tabellen darstellen
    6. 3.6 HTML 4.01, XHTML 1.0 und HTML5
      1. 3.6.1 Der Klassiker – HTML 4.01
      2. 3.6.2 XHTML – weniger Freiheit, mehr Klarheit
      3. 3.6.3 HTML5
    7. 3.7 Formatierung mit CSS
      1. 3.7.1 Farbangaben
      2. 3.7.2 Mehr Freiheit durch Klassen
      3. 3.7.3 Weitere häufig benötigte Formatierungen
    8. 3.8 Zusammenfassung
  4. 4 PHP-Basics
    1. 4.1 PHP in HTML-Dokument einbinden
      1. 4.1.1 Verschiedene Varianten der Einbindung
      2. 4.1.2 PHP-Befehle überall
    2. 4.2 Kommentare
    3. 4.3 Variablen definieren und ausgeben
      1. 4.3.1 Notice bei nicht initialisierten Variablen
      2. 4.3.2 Den Inhalt von Variablen ausgeben
      3. 4.3.3 Sonderzeichen in Anführungszeichen
      4. 4.3.4 Variablennamen über {} kennzeichnen
      5. 4.3.5 Komfortable Ausgabe über HereDoc und NowDoc
      6. 4.3.6 Qual der Wahl: einfache oder doppelte Anführungszeichen?
      7. 4.3.7 Voll flexibel: variable Variablen
    4. 4.4 Konstanten definieren
    5. 4.5 Operatoren
      1. 4.5.1 Arithmetische Operatoren
      2. 4.5.2 Strings verknüpfen
    6. 4.6 Datentypen
      1. 4.6.1 Strings
      2. 4.6.2 Integer und Float
      3. 4.6.3 Wahrheitswerte
      4. 4.6.4 Weitere Datentypen
      5. 4.6.5 Immer der richtige Typ
      6. 4.6.6 TypeCasting
    7. 4.7 Arrays
      1. 4.7.1 Arrays erstellen
      2. 4.7.2 Informationen über Arrays ausgeben lassen
      3. 4.7.3 Arrays durchlaufen mit foreach
      4. 4.7.4 Zufällig ein Bild anzeigen lassen
      5. 4.7.5 Assoziative Arrays
      6. 4.7.6 Schlüssel von Arrays richtig angeben
      7. 4.7.7 Arrays und Variableninterpolation
      8. 4.7.8 Verschachtelte Arrays am Beispiel
    8. 4.8 Nützlich für alle Zwecke: Dateien einbinden
    9. 4.9 Zusammenfassung
  5. 5 Mehr Basics
    1. 5.1 Je nachdem ... Entscheidungen fällen
      1. 5.1.1 if – elseif – else
      2. 5.1.2 Bedingungen kombinieren
      3. 5.1.3 switch
    2. 5.2 Schleifen – mehrmals dasselbe tun
      1. 5.2.1 while-Schleife
      2. 5.2.2 do-while-Schleife: zumindest einmal
      3. 5.2.3 Kompakt: die for-Schleife
      4. 5.2.4 Verschachtelte Schleifen
      5. 5.2.5 Schleifen steuern über break und continue
      6. 5.2.6 goto
      7. 5.2.7 Alternative Syntax für Verzweigungen und Schleifen
    3. 5.3 Funktionen schreiben
      1. 5.3.1 Übergabe per Wert und per Referenz
      2. 5.3.2 Defaultwerte für Parameter
      3. 5.3.3 Zugriff auf Variablen innerhalb und außerhalb von Funktionen
      4. 5.3.4 Lambda-Funktionen und Closures
    4. 5.4 Klassen und Objekte
      1. 5.4.1 Objektorientierte Programmierung
      2. 5.4.2 Methoden und Eigenschaften
    5. 5.5 Unterstützung bei der Fehlersuche
      1. 5.5.1 Leerzeichen und Einrückungen
      2. 5.5.2 Editor mit mehr Fähigkeiten
    6. 5.6 Fehlersuche – der Parse Error
      1. 5.6.1 Fehlendes Anführungszeichen
      2. 5.6.2 Vergessene geschweifte Klammern
      3. 5.6.3 Mehr Fehlertypen
    7. 5.7 Zusammenfassung
  6. 6 Funktionen für Strings, Arrays, Datum und mehr
    1. 6.1 Funktionen im PHP-Manual
    2. 6.2 Funktionen für Variablen
    3. 6.3 Funktionen für Strings
      1. 6.3.1 Mehr Optionen für die Ausgabe
      2. 6.3.2 Suchen, Finden und Ersetzen
      3. 6.3.3 Volle Freiheit mit regulären Ausdrücken
      4. 6.3.4 Zusammenarbeit mit HTML
      5. 6.3.5 Zeichenkodierungen
    4. 6.4 Funktionen für Arrays
      1. 6.4.1 Arrays und Strings
      2. 6.4.2 Arrays sortieren
      3. 6.4.3 Weitere Arrayfunktionen
    5. 6.5 Arbeiten mit Datum und Uhrzeit
      1. 6.5.1 Datum formatiert ausgeben über date()
      2. 6.5.2 strftime() und setlocale()
      3. 6.5.3 Ein beliebiges Datum festlegen
      4. 6.5.4 Die Differenz zwischen zwei Daten berechnen
      5. 6.5.5 Datumsangabe überprüfen
    6. 6.6 Zusammenfassung
  7. 7 Formulare verarbeiten mit PHP
    1. 7.1 Formularbasis
      1. 7.1.1 Verarbeitung im selben Skript
    2. 7.2 Zwei Methoden: POST und GET
    3. 7.3 Weitere Formularelemente
      1. 7.3.1 Radiobuttons, Auswahllisten und mehrzeilige Textfelder
      2. 7.3.2 Checkboxen
    4. 7.4 Seit PHP 5.3 zu Recht deprecated und in PHP 5.4 entfernt: die Magic Quotes
    5. 7.5 Sicherheit – misstrauen Sie Ihren Besuchern
      1. 7.5.1 Gefährliche Einstellung: register_globals = On
      2. 7.5.2 Bösartige Formulareingaben
      3. 7.5.3 Formulare manipulieren
    6. 7.6 Formulare absichern
      1. 7.6.1 Output maskieren
      2. 7.6.2 Input prüfen
      3. 7.6.3 Inhalte prüfen mit der Erweiterung filter
    7. 7.7 Formularvalidierung mit vorausgefüllten Formularfeldern
    8. 7.8 Formulardaten per E-Mail versenden
      1. 7.8.1 E-Mail versenden – Grundlagen
      2. 7.8.2 Daten aus Formularen per E-Mail versenden
      3. 7.8.3 Komfortabel Mails versenden über den phpMailer()
    9. 7.9 Dateien hochladen
      1. 7.9.1 Dateiupload: Grundlegendes
      2. 7.9.2 Skript für den Bildupload
    10. 7.10 Zusammenfassung
  8. 8 Zustände über Cookies und Sessions behalten
    1. 8.1 Cookies
      1. 8.1.1 Cookies – allgemeine Eigenschaften
      2. 8.1.2 Kommunikation zwischen Browser und Server
      3. 8.1.3 Cookies setzen per PHP
      4. 8.1.4 Cookies setzen und auslesen
      5. 8.1.5 Die einzelnen Schritte genau betrachtet
      6. 8.1.6 Headers already sent
      7. 8.1.7 Ausgabepufferung aktivieren
      8. 8.1.8 Cookies und Sicherheit
    2. 8.2 Sessions – Sitzungen
      1. 8.2.1 Speicherung von Session-Informationen
      2. 8.2.2 Sessions bei deaktivierten Cookies
    3. 8.3 Ein Login-System mit Sessions
    4. 8.4 Die neue Passwort-API von PHP 5.5
    5. 8.5 Zusammenfassung
  9. 9 Objektorientierung
    1. 9.1 Methoden und Eigenschaften
    2. 9.2 Konstruktor und Destruktor
    3. 9.3 Objekte verschachteln
    4. 9.4 Konstanten definieren
    5. 9.5 Mehr Funktionalität bei der Klasse Kunde
    6. 9.6 Vererbung
      1. 9.6.1 Premiumkunden
      2. 9.6.2 Konstruktoren in der Basisklasse und in der abgeleiteten Klasse
    7. 9.7 Zugriff steuern
    8. 9.8 Vererbung und Überschreibung genau steuern
      1. 9.8.1 Überschreibung verhindern mit final
      2. 9.8.2 Überschreibung fordern mit abstract
      3. 9.8.3 Schnittstellen – Interfaces
    9. 9.9 Type Hints
    10. 9.10 static – auch ohne Objekt aufrufbar
      1. 9.10.1 Statische Methoden
      2. 9.10.2 Statische Eigenschaften
      3. 9.10.3 Late Static Binding
    11. 9.11 Mehr magische Methoden
      1. 9.11.1 __set() und __get()
      2. 9.11.2 __call() und callStatic() – Magie für Methoden
      3. 9.11.3 Dateien automatisch laden über __autoload()
      4. 9.11.4 Ausgabe steuern über __toString()
    12. 9.12 Referenzen, Klone und Vergleiche
      1. 9.12.1 Referenzen und Klone
      2. 9.12.2 Objekte vergleichen
    13. 9.13 Namensräume
      1. 9.13.1 Grundlegendes
      2. 9.13.2 Absolut und relativ
      3. 9.13.3 Abkürzungen: use benutzen
      4. 9.13.4 Globaler Namensraum
      5. 9.13.5 Vollständigen Klassennamen ermitteln mit ::class
    14. 9.14 Traits – Code wiederverwenden
      1. 9.14.1 Konfliktlösungen
      2. 9.14.2 Mehrere Traits nutzen
    15. 9.15 Fehlerbehandlung mit der Exception-Klasse
    16. 9.16 Generatoren in PHP 5.5
    17. 9.17 Überblick über die bei der objektorientierten Programmierung benutzten Schlüsselwörter
  10. 10 Daten komfortabel verwalten mit MySQL
    1. 10.1 MySQL und mehr
    2. 10.2 Datenbanken – Grundlegendes
    3. 10.3 phpMyAdmin
      1. 10.3.1 root-Passwort vergeben
    4. 10.4 Datenbank anlegen und benutzen
      1. 10.4.1 Tabellen erstellen
    5. 10.5 Datentypen in MySQL für Tabellen
      1. 10.5.1 Numerische Datentypen
      2. 10.5.2 Datums- und Zeittypen
      3. 10.5.3 Datentypen für Strings
      4. 10.5.4 Binärdaten
    6. 10.6 Daten einfügen
    7. 10.7 Datensätze verändern
    8. 10.8 Datensätze löschen
    9. 10.9 Daten auslesen
      1. 10.9.1 Datensätze sortieren und Anzahl beschränken
      2. 10.9.2 Datensätze auswählen und filtern
      3. 10.9.3 Datensätze zählen
    10. 10.10 Mit mehreren Tabellen arbeiten
      1. 10.10.1 Weitere Beispiele für Abfragen über mehrere Tabellen
    11. 10.11 Inhalte exportieren und importieren
    12. 10.12 Zusammenfassung
  11. 11 PHP und MySQL
    1. 11.1 MySQLi – die verbesserte Erweiterung für MySQL
      1. 11.1.1 MySQLi verwenden
    2. 11.2 Praktisch: Durch Datensätze blättern
    3. 11.3 Nützliche Informationen über das Ergebnis
      1. 11.3.1 mysqli-Klasse
      2. 11.3.2 mysqli_result-Klasse
    4. 11.4 MySQL-Sonderzeichen behandeln
    5. 11.5 SQL-Injections
    6. 11.6 Prepared Statements – auf alles bestens vorbereitet
      1. 11.6.1 Daten über ein Formular eingeben, ändern und löschen
    7. 11.7 Alternativen: MySQLi-Schnittstelle prozedural und MySQL-Schnittstelle
    8. 11.8 Zusammenfassung
  12. 12 XML-, PDF- und andere Dateien
    1. 12.1 Wichtige Basis: Dateirechte
    2. 12.2 Schnell zum gewünschten Ziel über file_get_contents() und file_put_contents()
      1. 12.2.1 Inhalte schnell auslesen
      2. 12.2.2 In Dateien schreiben
    3. 12.3 Schritt für Schritt mit fopen() & Co.
      1. 12.3.1 Eine Datei in verschiedenen Modi öffnen
      2. 12.3.2 Zeilenweise auslesen
      3. 12.3.3 In Dateien schreiben
      4. 12.3.4 Prüfungen durchführen
    4. 12.4 XML-Dateien auslesen
      1. 12.4.1 Zugriff auf XML-Dateien – Grundlagen
      2. 12.4.2 Auf Newsfeeds zugreifen
    5. 12.5 Arbeiten mit Archiven
      1. 12.5.1 Erstellen und Lesen von ZIP-Dateien
      2. 12.5.2 Phar-Archiv
    6. 12.6 PDF-Dokumente erzeugen
      1. 12.6.1 Vorbereitungen und erstes Beispiel
      2. 12.6.2 Cell() für die Ausgabe
      3. 12.6.3 Bilder und Links einfügen
      4. 12.6.4 Weiterführende Techniken – Kopfbereich und Fußbereich ergänzen
    7. 12.7 Zusammenfassung
  13. 13 Mit Grafiken arbeiten
    1. 13.1 Bildbearbeitung mit PHP – Grundlegendes
      1. 13.1.1 Einfache Bilder erstellen
    2. 13.2 Vorschaubilder per PHP erzeugen
      1. 13.2.1 Weitere Bildbearbeitungen mit PHP 5.5
    3. 13.3 Diagramme erstellen
      1. 13.3.1 Balkendiagramme
      2. 13.3.2 Tortendiagramm
    4. 13.4 Zusammenfassung
  14. 14 Template-Engines am Beispiel von Smarty
    1. 14.1 Erste Schritte mit Smarty
    2. 14.2 Eine eigene Smarty-Klasse
    3. 14.3 Weitere Möglichkeiten von Smarty
    4. 14.4 Zusammenfassung und Ausblick
  15. 15 PHP für WordPress-Themes
    1. 15.1 WordPress-Basics
      1. 15.1.1 WordPress-Installation im Schnelldurchlauf
      2. 15.1.2 Theme installieren
    2. 15.2 Ein Child-Theme erstellen
      1. 15.2.1 Ein einfaches Child-Theme erstellen
      2. 15.2.2 Das Child-Theme aktivieren
      3. 15.2.3 Die Formatierungen anpassen
      4. 15.2.4 Templates für Themes
      5. 15.2.5 Template-Hierarchie und Child-Themes
      6. 15.2.6 Die Template-Dateien
      7. 15.2.7 Dateien einbinden in WordPress
      8. 15.2.8 Logischer Aufbau von index.php
      9. 15.2.9 Ein Blick in header.php
      10. 15.2.10 header.php anpassen
      11. 15.2.11 Funktionen definieren in functions.php
    3. 15.3 Ausblick
  16. 16 jQuery, Ajax und PHP
    1. 16.1 jQuery für Anwendungen
    2. 16.2 Vorbereitungen
    3. 16.3 Verstecken und Einblenden eines Containers
    4. 16.4 Elemente mit jQuery auswählen
    5. 16.5 Formatierungen zuweisen und Elementinhalte bearbeiten
    6. 16.6 Ereignisse in jQuery
    7. 16.7 Mit jQuery Daten von PHP anfordern
      1. 16.7.1 Kurz vorgestellt: Ajax
      2. 16.7.2 Asynchron Inhalte versenden – das Beispiel
    8. 16.8 Zusammenfassung und Ausblick
  17. A Anhang
    1. A.1 Konfigurationsmöglichkeiten für PHP
      1. A.1.1 Einstellungen in httpd.conf oder .htaccess setzen
      2. A.1.2 Informationen zur Konfiguration auslesen und Einstellungen im Skript setzen
    2. A.2 Debugging mit FirePHP
  18. B Lösungen zu den Übungen
    1. B.1 Kapitel 3
    2. B.2 Kapitel 4
    3. B.3 Kapitel 5
    4. B.4 Kapitel 6
    5. B.5 Kapitel 7
    6. B.6 Kapitel 8
    7. B.7 Kapitel 9
    8. B.8 Kapitel 10
    9. B.9 Kapitel 11
    10. B.10 Kapitel 12
  19. Index