Click here to load reader

Behandelt PEAR, und MySQLdownload.e- ... PHP und MySQL Webdatenbank-Applikationen mit Hugh E. Williams & David Lane Deutsche Übersetzung von Dorothea Heymann-Reder & Lars Schulten

  • View
    2

  • Download
    0

Embed Size (px)

Text of Behandelt PEAR, und MySQLdownload.e- ... PHP und MySQL Webdatenbank-Applikationen mit Hugh E....

  • PHP und MySQL

    Webdatenbank-Applikationen mit

    Hugh E. Williams & David Lane Deutsche Übersetzung von

    Dorothea Heymann-Reder & Lars Schulten

    2. Auflage

    Behandelt PEAR,

    PHP 5 & MySQL 4.1

  • Beijing · Cambridge · Farnham · Köln · Paris · Sebastopol · Taipei · Tokyo

    Webdatenbank-Applikationen mit PHP und MySQL

    Hugh E. Williams & David Lane

    Deutsche Übersetzung von Dorothea Heymann-Reder & Lars Schulten

  • Die Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden. Verlag, Autoren und Übersetzer übernehmen keine juristische Verantwortung oder irgendeine Haftung für eventuell verbliebene Fehler und deren Folgen. Alle Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt und sind möglicherweise eingetragene Warenzeichen. Der Verlag richtet sich im Wesentlichen nach den Schreibweisen der Hersteller. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

    Kommentare und Fragen können Sie gerne an uns richten: O’Reilly Verlag Balthasarstr. 81 50670 Köln Tel.: 0221/9731600 Fax: 0221/9731608 E-Mail: [email protected]

    Copyright der deutschen Ausgabe: © 2005 by O’Reilly Verlag GmbH & Co. KG 1. Auflage 2003 2. Auflage 2005

    Die Originalausgabe erschien 2004 unter dem Titel Web Database Applications with PHP and MySQL, 2nd Edition bei O’Reilly Media, Inc.

    Die Darstellung eines Schnalbeltiers im Zusammenhang mit dem Thema Webdatenbanken mit PHP und MySQL ist ein Warenzeichen von O’Reilly Media, Inc.

    Bibliografische Information Der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.ddb.de abrufbar.

    Übersetzung und deutsche Bearbeitung: Dorothea Heymann-Reder, Bornheim & Lars Schulten, Köln Lektorat: Alexandra Follenius, Köln Korrektorat: Friederike Daenecke, Zülpich Satz: G&U e.Publishing Services GmbH, Flensburg Umschlaggestaltung: Ellie Volckhausen, Hanna Dyer & Clay Fernald, Boston Produktion: Karin Driesen, Köln Belichtung, Druck und buchbinderische Verarbeitung: Druckerei Kösel, Krugzell; www.koeselbuch.de

    ISBN 3-89721-387-7

    Dieses Buch ist auf 100% chlorfrei gebleichtem Papier gedruckt.

    mailto:[email protected] http://dnb.ddb.de http://www.koeselbuch.de

  • This is the Title of the Book, eMatter Edition Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.

    Inhalt | V

    First

    Max. Linie

    Max. Linie

    Inhalt

    Vorwort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IX

    1 Datenbank-Anwendungen und das Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Das Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Dreischichtige Architekturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    2 Die Skriptsprache PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Einführung in PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Bedingungen und Verzweigungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Schleifen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Umgang mit Typen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Benutzerdefinierte Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Ein Beispiel-Skript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

    3 Arrays, Strings und der Umgang mit Daten in PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Reguläre Ausdrücke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Datum und Uhrzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Integer und Floats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

    4 Einführung in die objektorientierte Programmierung mit PHP 5 . . . . . . . . . . . . . . . . 113 Klassen und Objekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Vererbung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Exceptions auslösen und abfangen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

  • This is the Title of the Book, eMatter Edition Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.

    VI | Inhalt

    Links

    Max. Linie

    Max. Linie

    5 SQL und MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Grundlagen von Datenbanken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Der Befehlsinterpreter von MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Datenbanken und Tabellen verwalten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Daten einfügen, ändern und löschen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Abfragen mit SQL SELECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 Join-Abfragen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Fallstudie: Ein neuer Wein wird hinzugefügt . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

    6 Webdatenbanken abfragen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 Eine MySQL-Datenbank mit PHP abfragen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Benutzereingaben verarbeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 MySQL-Funktionsreferenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

    7 PEAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 Kernkomponenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 Pakete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

    8 In Webdatenbanken schreiben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 Das Einfügen, Aktualisieren und Löschen bei Datenbanken . . . . . . . . . . . . . . . . 268 Probleme bei Schreiboperationen auf Datenbanken . . . . . . . . . . . . . . . . . . . . . . . 289

    9 Validierung mit PHP und JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 Prinzipien der Validierung und Fehlermeldung . . . . . . . . . . . . . . . . . . . . . . . . . . 305 Serverseitige Validierung mit PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 JavaScript und die Validierung auf der Client-Seite . . . . . . . . . . . . . . . . . . . . . . . 329

    10 Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 Session-Management kurz vorgestellt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 PHP-Session-Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 Fallstudie: Sessions zur Validierung verwenden . . . . . . . . . . . . . . . . . . . . . . . . . . 374 Wann Sessions verwendet werden sollen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384 Die Session-API von PHP und ihre Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . 387

    11 Authentifizierung und Sicherheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 HTTP-Authentifizierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 HTTP-Authentifizierung mit PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 Formularbasierte Authentifizierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 Daten im Web schützen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430

  • This is the Title of the Book, eMatter Edition Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.

    Inhalt | VII

    Rechts

    Max. Linie

    Max. Linie

    12 Fehler, Debugging und Deployment . . . . . . . . . . . . .

Search related