lehrerbibliothek.deDatenschutzerklärung
Internet intern  PHP 4 und MySQL
Internet intern PHP 4 und MySQL




Gudrun Anna Leierer, Rolf D. Stoll

Reihe: Internet Intern


Data Becker
EAN: 9783815822036 (ISBN: 3-8158-2203-3)
584 Seiten, kartoniert, 18 x 24cm, 2001

EUR 39,95
alle Angaben ohne Gewähr

Umschlagtext
Dieses Buch bietet Ihnen ebenso umfassendes wie auch kompetentes Know-how, mitd dem Sie professionelle Datenbanken sowie dynamische, datenbankgestützte Sites für das WWW entwickeln. Das Buch vermittelt dazu einen kompakten Schnelleinstieg in PHP 4.





Ob interaktive Website, Onlineshop oder komplexe Informationspage: Hier profitieren Sie von dem kompetenten Wissen der Insider in Sachen PHP4 und MySQL. Mit zahlreichen Lösungsvorschlägen für die Praxis und hilfreichen Experten-Tipps, die Ihnen einen Blick hinter die Fassade der Datenbankprogrammierung fürs Internet ermöglichen.





Grundlagen

• Einblicke in die Skriptsprache PHP 4

• Installation und Funktionsweise des MySQL-Datenbank-Servers



PHP 4-Programmierung kompakt

• Syntax und Programmstruktur von PHP 4

• Objektorientierte Programmierung und Debugging



Interaktive Webseiten

• Formulare und Datenübergabe in PHP

• Arbeiten mit Cookies



Grafik- und Flashprogrammierung

• Die Grafik-Bibliothek GD

• Flash-Programmierung mit der Ming Bibliothek



XML und PHP

• Der XML-Parser EXPAT

• PHP-Schnittstellen zu DOM und libxml



Dynamische Anwendungen mit PHP

• Datenbankprogrammierung mit MySQL

• Transaktionen im Web

• Modell einer Shopanwendung

• Administration von MySQL

• myAdmin unter Windows



Tipps & Tools

• Zend Optimizer

• PHP-Coder
Inhaltsverzeichnis
1. Einleitung 15

1.1 Wozu PHP und MySQL? 15

1.2 Voraussetzungen 16


2. Das Arbeitsfeld: Internet und Intranet 17

2.1 Die Entwicklung des Internet 18

2.2 Protokolle im Internet 18

2.2.1 Das TCP/IP-Architekturmodell 18
2.2.2 Protokolle der Internetschicht 20
2.2.3 Protokolle der Transportschicht 23
2.2.4 Protokolle der Anwendungsschicht 25

2.3 Das Common Gateway Interface (CGI) 29


3. Die Arbeitsumgebung: Einrichtung und Konfiguration 31

3.1 Der Apache-Webserver 32
3.1.1 So installieren Sie den Apache-Webserver unter Linux 33
3.1.2 Installation des Apache unter Windows 38

3.2 So installieren Sie PHP 4 41
3.2.1 Installation von PHP 4 als Apache-Modul unter Linux 43
3.2.2 Installation von PHP als CGI-Programm unter Windows 46
3.2.3 Installation von PHP als Apache-Modul unter Windows 48
3.2.4 Feintuning: Die Konfigurationsdatei von PHP 4 49
3.2.5 Optimierte Initialisierungs-Einstellungen für PHP 4 57
3.2.6 Ihr erstes PHP-Skript 58

3.3 Der Datenbankserver MySQL 60
3.3.1 So installieren Sie MySQL unter Linux 60
3.3.2 Ein erster Test 63
3.3.3 Installation von MySQL unter Windows 64
3.3.4 Das MySQL-Zugriffssystem 67
3.3.5 Die Administration des MySQL-Datenbankservers mit dem Webbrowser 71


4. PHP – Die universelle Skriptsprache für das Web 75

4.1 Was ist PHP? 75

4.2 Wie arbeitet PHP? 77

4.3 Neuerungen von PHP 4 79

4.4 Grundlegende Sprachelemente von PHP 79
4.4.1 Allgemeines zur Syntax 80
4.4.2 Ausdrücke 83
4.4.3 Anweisungen 87
4.4.4 Operatoren 87
4.4.5 Die mathematischen Funktionen von PHP 93
4.4.6 Die Datentypen von PHP 95
4.4.7 Konstanten 98
4.4.8 Variablen 99
4.4.9 Arrays 104
4.4.10 Array-Funktionen 112
4.4.11 Verarbeitung von Zeichenketten 121
4.4.12 Reguläre Ausdrücke 131

4.5 Die PHP-Programmstruktur 140
4.5.1 Blöcke und Strukturen 141
4.5.2 Bedingungen 141
4.5.3 Schleifen 145
4.5.4 Auswahl von Alternativen mit switch 151
4.5.5 Funktionen 152
4.5.6 Dateien einbinden mit require und include 156

4.6 Objektorientierte Programmierung mit PHP 158
4.6.1 Was ist OOP 158
4.6.2 Die objektorientierten Sprachkonstrukte von PHP 159

4.7 Debugging in PHP 173
4.7.1 Das PHP-Fehlerkonzept 174
4.7.2 Einfache Strategien zur Fehlersuche 174
4.7.3 Ein einfacher Debugger 176

4.8 PHP und das Dateisystem 178
4.8.1 Elementare Dateioperationen mit PHP 178
4.8.2 Informationen über Dateien, Verzeichnisse und Zugriffsrechte 182
4.8.3 Funktionen für das Verzeichnissystem 185
4.8.4 Zugriff auf Sockets und Prozesse mit PHP-Dateifunktionen 187

4.9 Weitere PHP-Funktionen 190
4.9.1 Datums- und Zeitfunktionen 190
4.9.2 Die PHP-Informationsfunktionen 197
4.9.3 Spezifische Funktionen für den Apache-Webserver 200


5. Interaktive Webseiten mit PHP 203

5.1 Die Grundlage von interaktiven Webseiten: Formulare 203
5.1.1 Erstellen von Formularen mit HTML 204
5.1.2 Datenübertragung mit den HTTP-Methoden GET und POST 205
5.1.3 Zugriff auf Formulardaten mit PHP 206
5.1.4 Dynamische Generierung von Formularelementen mit PHP 212

5.2 Datenübergabe zwischen PHP-Skripten 216
5.2.1 Die Verwendung der Methode GET in Formularen 217
5.2.2 Verwendung der Methode GET in Hyperlinks 219
5.2.3 Die globale Variable $QUERY_STRING 221

5.3 Setzen von Cookies mit PHP 222
5.3.1 Die Verwendungsmöglichkeiten von Cookies 223
5.3.2 Die Spezifikation von Cookies 224
5.3.3So arbeiten Sie unter PHP mit Cookies 225

5.4 Session-Management mit PHP 4 228
5.4.1 Was sind Sessions 228
5.4.2 Konfiguration des PHP-Session-Moduls 229
5.4.3So arbeiten Sie unter PHP mit Sessions 230


6. Grafik-Programmierung mit PHP 235

6.1 Die GD-Grafik-Bibliothek 235
6.1.1 Bilder und das HTTP-Protokoll 235
6.1.2So arbeiten Sie unter PHP mit Bilddateien 236
6.1.3GD-Funktionen zur Bildbearbeitung 237
6.1.4 Bilderzeugung mit der GD-Bibliothek in der Praxis 239

6.2 Eine interaktive Kalender-Anwendung für das Web 240

6.3 Diagrammerstellung mit PHP 249


7. Flash-Programmierung mit PHP 259

7.1 Die Ming-Bibliothek: Verfügbarkeit und Installation 259

7.2 Grundlagen der Flash-Programmierung mit der Ming-Bibliothek 260
7.2.1 Die Basisklasse für die Erstellung eines Flash-Movie: SWFMovies 261
7.2.2 Arbeiten mit Text – Die Klasse SWFText 264
7.2.3 Erstellung grafischer Objekte mit der Klasse SWFShape 268
7.2.4 Die Klasse SWFDisplayItem 276
7.2.5 Erstellung von Movie-Clips mit der Klasse SWFSprite 279
7.2.6 Arbeiten mit Farbverläufen – Die Klasse SWFGradient 284
7.2.7 Die Klasse SWFFill 289
7.2.8 Die Klasse SWFFont 293
7.2.9 Definition von Aktionen mit der Klasse SWFAction 294
7.2.10 Definition von Schaltflächen – Die Klasse SWFButton 295
7.2.11 Erstellung von Flash-Formularen mit der Klasse SWFTextField 300

7.3 Programmierung von ActionScripts mit PHP 311


8. PHP und XML 319

8.1 XML-Grundlagen 319
8.1.1 Deskriptives Markup und semantische Tags 323
8.1.2 XML-Dokumente im Webbrowser 324
8.1.3 Formatierung von XML-Dokumenten mit CSS 327
8.1.4 Die Stylesheet-Sprachen XSLT und XSL 329
8.1.5 Zugriff auf XML-Dokumentteile mit XPath 332

8.2 Die PHP-Schnittstelle zum XML-Parser EXPAT 334
8.2.1 Der XML-Parser Expat 334
8.2.2 Erzeugen von Baumstrukturen mit dem Modul xmlfile 340
8.2.3 Eine Anwendung mit dem Modul xmlfile 347

8.3 XSLT-Transformationen mit PHP 354

8.4 Die PHP-Schnittstelle zu DOM und libxml 360
8.4.1 Das Document Object Model (DOM) 361
8.4.2 Die DOM-XML-Funktionen von PHP 361
8.4.3 Navigation in XML-Dokumenten mit den DOM-XML-Funktionen 364
8.4.4 Erzeugen von Baumstrukturen mit der Funktion xmltree() 376
8.4.5 Auswerten von XPath-Ausdrücken mit den DOM-XML-Funktionen 382


9. Arbeiten mit Templates 387

9.1 FastTemplate 387

9.2 Installieren von FastTemplate & Anpassung an PHP 4 388

9.3 So arbeiten Sie mit FastTemplate 388
9.3.1 Variablen definieren 388
9.3.2 Die grundlegenden Methoden der Klasse FastTemplate 388

9.4 Eine Anwendung mit FastTemplate 390
9.4.1 Erstellung der Templates 390
9.4.2 Der PHP-Code zur Steuerung des Menüsystems 393


10. Das Herz dynamischer Webanwendungen: Die Datenbank 395

10.1 Was ist überhaupt eine Datenbank? 395
10.1.1 Datenbankmanagementsystem und Datenbanksystem 396
10.1.2 Die Datenebenen eines Datenbanksystems 396

10.2 Das Entity-Relationship-Modell 397
10.2.1 Die Basiskonstrukte des ER-Modells 397
10.2.2 Komplexität von Beziehungstypen 398
10.2.3 Grafische Darstellung des ER-Modells 398
10.2.4 Entwicklung eines ER-Modells am Beispiel Webshop 399

10.3 Vom ER-Diagramm zum relationalen Datenmodell 403
10.3.1 Das relationale Datenmodell 403
10.3.2 Transformation des ER-Modells in ein relationales Datenbankschema 404
10.3.3 Normalisierung und Normalformen von Datenbanken 406


11. Datenbank-Praxis mit MySQL 409

11.1 MySQL im Überblick 409

11.2 MySQL und Standard-SQL 410

11.3 Grundlegende Sprachelemente von MySQL 410
11.3.1 Schreibweisen und Konventionen 410
11.3.2 Die Datentypen von MySQL 412
11.3.3 Die Operatoren von MySQL 414

11.4 Datendefinition und -manipulation mit MySQL 416
11.4.1 Anlegen und Löschen von Datenbanken 416
11.4.2 Definition und Modifikation der Tabellenstruktur 417
11.4.3 Eingabe, Verändern und Löschen von Daten 422
11.4.4 Auswahl von Datensätzen 426
11.4.5 System- und Informationsfunktionen 430
11.4.6 Zugangskontrolle zu Datenbankobjekten 433
11.4.7 Benutzerdefinierte Funktionen 433

11.5 Spezielle MySQL-Funktionen 434
11.5.1 Mathematische Funktionen 434
11.5.2 Zeichenkettenfunktionen 437
11.5.3 Datums- und Zeitfunktionen 440
11.5.4 Aggregatfunktionen 443


12. Dynamische datenbankgestützte Anwendungen im Internet & Intranet 447

12.1 HTML-Programmierung und PHP 448
12.1.1 Ausgabe von Text 448
12.1.2 Ausgabe von Tabellen 449

12.2 Datenbankprogrammierung mit PHP und MySQL 452
12.2.1 Eine einfache Datenbankschnittstelle 452
12.2.2 Die MySQL-Funktionen von PHP 460


13. Sichere Transaktionen im Web mit SSL 469

13.1 Was ist SSL? 469

13.2 Installation von SSL auf dem Apache-Webserver 470
13.2.1 So installieren Sie OpenSSL unter Linux 471
13.2.2 Patchen und Neuübersetzen der Apache-Quellen 471
13.2.3 SSL im praktischen Einsatz 474


14. Eine Shop-Anwendung mit PHP und MySQL 477

14.1 Design und Realisation der Shop-Datenbank 477
14.1.1 Anlegen der Tabellen für die Shop-Datenbank 478
14.1.2 Eingabe von Daten in die Shop-Datenbank 481

14.2 Die Datenbankschnittstelle des Webshops 483

14.3 Die Programmstruktur der Shop-Anwendung 487

14.4 Realisation des Web-Interfaces mit PHP 489
14.4.1 Konfiguration des Shop-Systems 490
14.4.2 Der Eingang zum Shop 494
14.4.3 Der Katalog des Shop-Systems 498
14.4.4 Der Warenkorb des Shop-Systems 509
14.4.5 Die Bestellung 516
14.4.6 Das Shop-Menü 533


15. Zugriff auf ODBC-Datenquellen mit PHP 535

15.1 Was ist ODBC? 535

15.2 Die ODBC-Funktionen von PHP 536
15.2.1 So arbeiten Sie mit den ODBC-Funktionen von PHP 537
15.2.2 Zugriff auf eine Access-Datenbank mit den ODBC-Funktionen von PHP 540


16. Administration von MySQL Datenbanken unter MS-Windows 547

16.1 Windows-Clients für MySQL 547
16.1.1 Ein schlanker Windows-Client für MySQL: myAdmin 547

16.2 MS-Access als Frontend für MySQL-Datenbanken 549
16.2.1 Installation und Konfiguration des ODBC-Treibers MyODBC 549
16.2.2 Einrichten einer MySQL-Datenbank als ODBC-Systemdatenquelle 551
16.2.3 Importieren einer MySQL-Datenbank nach Access 552
16.2.4 So arbeiten Sie mit der Datenbank 553


17. Nützliche Tools für PHP 4 555

17.1 Der Zend Optimizer 555
17.1.1 Systemvoraussetzungen 555
17.1.2 Installation des Optimizers 555
17.1.3 So arbeitet der Optimizer 556
17.1.4 Test des Optimizers 557

17.2 Eine Entwicklungsumgebung für PHP: PHP-Coder 559
17.2.1 Der integrierte Editor 560
17.2.2 Ausführen von PHP-Code in der Entwicklungsumgebung 561
17.2.3 Der Klassen- und Funktionen-Browser 562

17.3 Das PHP Classes Repository 563


18. Anhang 565

18.1 Die reservierten Namen von MySQL 565

18.2 Installation der Grafikbibliothek GD unter Linux 566

18.3 Erstellung von PNG- und JPEG-Bildern mit der GD-Bibliothek 568

18.4 FAQ-Liste zu Installationsproblemen 569
18.4.1 Apache-Installation 569
18.4.2 PHP-Installation 569
18.4.3 Webshop 570


Über die Autoren 573


Stichwortverzeichnis 575