Dynamische Webseiten in der Praxis: mit PHP 5, MySQL 5, XHTML, CSS, JavaScript und Ajax
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | German |
Veröffentlicht: |
Bonn
mitp-Verl.
2009
|
Ausgabe: | 2. aktualisierte Aufl. |
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | 744 S. Ill. 1 CD-ROM (12 cm) |
ISBN: | 9783826617829 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV023116795 | ||
003 | DE-604 | ||
005 | 20240523 | ||
007 | t | ||
008 | 080207s2009 gw a||| |||| 00||| ger d | ||
020 | |a 9783826617829 |9 978-3-8266-1782-9 | ||
035 | |a (OCoLC)643277417 | ||
035 | |a (DE-599)BVBBV023116795 | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 0 | |a ger | |
044 | |a gw |c XA-DE-NW | ||
049 | |a DE-M347 |a DE-473 |a DE-898 |a DE-1047 |a DE-859 |a DE-91G |a DE-83 |a DE-12 |a DE-29T |a DE-29 |a DE-824 |a DE-1049 | ||
084 | |a ST 252 |0 (DE-625)143627: |2 rvk | ||
084 | |a DAT 675f |2 stub | ||
100 | 1 | |a Rieber, Philipp |e Verfasser |4 aut | |
245 | 1 | 0 | |a Dynamische Webseiten in der Praxis |b mit PHP 5, MySQL 5, XHTML, CSS, JavaScript und Ajax |c Philipp Rieber |
250 | |a 2. aktualisierte Aufl. | ||
264 | 1 | |a Bonn |b mitp-Verl. |c 2009 | |
300 | |a 744 S. |b Ill. |e 1 CD-ROM (12 cm) | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 0 | 7 | |a JavaScript |0 (DE-588)4420180-1 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a XHTML |0 (DE-588)4600114-1 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Eclipse |g Programmierumgebung |0 (DE-588)4768065-9 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Dynamische Web-Seite |0 (DE-588)4481830-0 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Content Management |0 (DE-588)4673954-3 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a PHP 5.0 |0 (DE-588)4763174-0 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Cascading Style Sheets |0 (DE-588)4467617-7 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a MySQL |0 (DE-588)4559381-4 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Content Management |0 (DE-588)4673954-3 |D s |
689 | 0 | 1 | |a Dynamische Web-Seite |0 (DE-588)4481830-0 |D s |
689 | 0 | 2 | |a MySQL |0 (DE-588)4559381-4 |D s |
689 | 0 | 3 | |a PHP 5.0 |0 (DE-588)4763174-0 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a Content Management |0 (DE-588)4673954-3 |D s |
689 | 1 | 1 | |a Dynamische Web-Seite |0 (DE-588)4481830-0 |D s |
689 | 1 | 2 | |a Cascading Style Sheets |0 (DE-588)4467617-7 |D s |
689 | 1 | |5 DE-604 | |
689 | 2 | 0 | |a Content Management |0 (DE-588)4673954-3 |D s |
689 | 2 | 1 | |a Dynamische Web-Seite |0 (DE-588)4481830-0 |D s |
689 | 2 | 2 | |a XHTML |0 (DE-588)4600114-1 |D s |
689 | 2 | |5 DE-604 | |
689 | 3 | 0 | |a Content Management |0 (DE-588)4673954-3 |D s |
689 | 3 | 1 | |a Dynamische Web-Seite |0 (DE-588)4481830-0 |D s |
689 | 3 | 2 | |a JavaScript |0 (DE-588)4420180-1 |D s |
689 | 3 | |5 DE-604 | |
689 | 4 | 0 | |a Content Management |0 (DE-588)4673954-3 |D s |
689 | 4 | 1 | |a Dynamische Web-Seite |0 (DE-588)4481830-0 |D s |
689 | 4 | 2 | |a Eclipse |g Programmierumgebung |0 (DE-588)4768065-9 |D s |
689 | 4 | |5 DE-604 | |
856 | 4 | 2 | |m Digitalisierung UB Bamberg |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016319308&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-016319308 |
Datensatz im Suchindex
_version_ | 1813509777382178816 |
---|---|
adam_text |
Inhaltsverzeichnis
Einleitung, Themenüberblick und Buchaufbau 17
E.l Die Themen des Buchs im Überblick . 17
E.2 Der Aufbau des Buchs . 19
E.3 Die Buch-CD . 25
E.4 Danksagung . 25
Teil
I
Das Projekt_27
Kapitel 1 : Einführung in das Projekt 29
1.1 Was ist das Projekt? . 29
1.2 Welchen Nutzen hat die Projekt-Website? . 31
1.3 Was kann die Projekt-
Web site?
. 31
1.3.1 Funktionen für Gäste . 33
1.3.2 Funktionen für eingeloggte Mitglieder . 34
1.3.3 Besondere Funktionen . 35
1.3.4 Funktionen für Administratoren . 36
1.3.5 Funktionen für Super-Administratoren . 37
1.3.6 Weitere Features . 37
1.4 Technische Umsetzung. 38
Kapitel 2: Installation der Projektwebsite 43
2.1 Installation der Skripte . 43
2.2 phpMyAdmin . 44
2.3 Die Konfigurationsdatei . 44
2.4 Installation der MySQL-Tabellen . 45
2.5 Der erste Menüpunkt . 47
2.6 Die Farbthemen . 47
2.7 Die ersten Module . 48
2.8 Der erste Fußleistenmenüpunkt . 49
2.9 Testen der Installation . 49
2.10 Komplettes Projekt installieren . 50
2.11 Absichern der Installation . 51
Inhaltsverzeichnis
Kapitel 3: Konzeption 53
3.1 Konventionen . 53
3.1.1 MySQL. 54
3.1.2 PHP . 55
3.2 Verzeichnisstruktur . 59
3.3 Schreibrechte . 62
3.4 Datenbankdesign . 64
3.4.1 Die Projekt-Tabellen . 65
3.4.2 So funktionieren die Tabellen . 67
3.5 Klassenstruktur . 73
3.6 Die XHTML-Struktur für das CSS-Design . 75
3.7 Grafische Vorbereitungen . 78
3.7.1 Farben . 78
3.7.2 Grafiken . 78
3.8 Abhängigkeiten . 80
Kapitel 4: Die Konfigurationsdatei konf.ink.php 83
4.1 Seiten-, Admin- und allgemeine Konstanten . 84
4.2 Blockzeiten. 87
4.3 Anwendungen . 87
4.3.1 Bilddateien. 87
4.3.2 Anwendungsparameter . 91
4.4 Module . 92
4.5 Sonstiges. 93
4.6
Arrays
. 95
Kapitel 5: Der
MySQL-Wrapper
97
5.1 Die Klasse MySQL . 99
5.2 Die Klasse MySQLStatement . 102
5.2.1 Abfragen ausführen . 104
5.2.2 Abfragen ohne Ergebnisressource . 105
5.2.3 Abfragen mit Ergebnisressource . 106
5.2.4 Mehrere Abfragen gleichzeitig ausführen . 108
Kapitel 6: Die Administrationsoberfläche 111
6.1 Die Indexdatei . 111
6.2 Das Design . 116
6.3 Der Menüpunkt »Installation« . 117
6.4 Die Klasse AdminMenueelement . 123
6.5 Der Menüpunkt »Menüpunkte« . 131
6.6 Der Menüpunkt »Fußleistenmenü« . 138
6.7 Der Menüpunkt »Module« . 140
6.8 Der Menüpunkt »Farbthemen« . 143
Inhaltsverzeichnis
Kapitel 7: Die Hauptseite 145
7.1 Die Hauptindexdatei index2.php . 146
7.1.1 Der Dateikopf. 146
7.1.2 Der Dateikörper . 153
7.1.3 Der Dateifuß . 166
7.2 Die Klasse
Tabs
. 166
7.2.1 Die GET-Parameter . 166
7.2.2 Der XHTML-Code für die Menüpunkte . 171
7.3 Die Klasse Module . 179
7.4 Die Ariadne-Navigation . 181
7.4.1 Die Methode Allgemein: :internerLink() . 183
7.4.2 Die Methode Basis::queryHolen() . 183
7.4.3 Die Rauf/Runter-Pfeile . 185
Kapitel 8: Der Registrierungsprozess 187
8.1 Die MySQL-Tabellen . 188
8.1.1 Tabellen für die Benutzerverwaltung . 188
8.1.2 Tabellen für temporäre Sperren (Spamschutz) . 190
8.2 Die Session-Registrierung . 191
8.3 Die Registrierungsseiten . 192
8.3.1 Die Klasse Registrierung . 193
8.3.2 Die Klasse Interaktiv . 196
8.4 Die Registrierung . 201
8.5 Umleitung zur Accountaktivierung . 203
8.6 Die Accountaktivierung . 204
8.7 Dynamische Überschriften (Kopfboxüberschriften) . 206
Kapitel 9: Login und
Logout
209
9.1 Das Login-Modul . 210
9.2 Die Klasse Login . 212
9.3 Der Login . 214
9.4 Der
Logout
. 216
Kapitell 0: Weitere Module 219
10.1 Das Aktuell-Modul . 219
10.2 Der Besucherzähler . 222
10.3 Das Online-Modul . 223
10.3.1 Benutzer registrieren . 224
10.3.2 Anzeigewerte setzen . 225
10.4 Shoutbox . 227
10.4.1 Die Klasse Shoutbox . 227
10.4.2 Die Inner-Frame-Datei shoutbox.php . 230
10.5 Das Links-Modul . 232
10.6 Das Quick-Iinks-Modul . 232
Inhaltsverzeichnis
Kapitel
TI: Die
Profilseite 235
11.1 Die E-Mail-Weiterleitungen . 236
11.2 Die Klasse Profil . 237
11.3 Die Datei profil.php . 238
11.3.1 Datumsauswahlfelder mit der Klasse Datumsformulare . 239
11.3.2 Avatare anzeigen mit der Klasse
Avatar
. 241
11.3.3 Details . 242
11.4 Die weiteren Methoden der Klasse Profil . 243
11.4.1 Profildaten laden . 243
11.4.2 Profildaten mit der Klasse Interaktiv überprüfen . 243
11.4.3 Profil aktualisieren . 249
11.5 Account löschen . 253
11.6 Bilder verschieben und verkleinern . 254
11.6.1 Hochgeladene Bilder verschieben . 254
11.6.2 Bilder verkleinern . 256
Kapitel 12: Der Mitgliederbereich 259
12.1 Das Mitgliederverzeichnis . 260
12.1.1 Der Konstruktor der Klasse Mitgliederverzeichnis . 260
12.1.2 _toString() . 260
12.1.3 Das Verzeichnis . 261
12.1.4 Die Profile . 273
12.2 Die Mitgliederverwaltung . 274
12.2.1 Zugriffserlaubnis prüfen . 276
12.2.2 Die Benutzerauswahl . 277
12.2.3 Das Verwaltungsformular. 278
12.2.4 Benutzerrechte und
-status
aktualisieren . 280
12.3 Die Links- und
Quick-Links-
Verwaltung . 281
12.4 Der Newsletter. 284
12.4.1 Die Indexseite . 284
12.4.2 Die Klasse Mailversand . 285
12.4.3 Mailversand erfolgreich . 288
12.4.4 Das E-Mail-Formular . 288
12.4.5 Die Klasse Newsletter . 291
12.4.6 Mails versenden mit der Methode Interaktiv::sendeMail() . 292
12.5 Windows und die Funktion mail() . 295
Kapitel 13: Der Interaktiv-Bereich 297
13.1 Das Gästebuch . 298
13.1.1 Der Konstruktor der Klasse Gaestebuch . 299
13.1.2 Das Gästebuch anzeigen . 301
13.1.3 Das Formular erzeugen und Eingaben prüfen . 309
13.1.4 Neue Einträge vornehmen . 313
13.1.5 Einträge bearbeiten . 313
13.1.6 Einträge löschen . 314
Inhaltsverzeichnis
13.2 Das Forum . 314
13.2.1 Der Konstruktor der Klasse Forum . 315
13.2.2 Die Threadsübersicht und die Suchfunktion. 317
13.2.3 Die Threadansicht . 321
13.2.4 Das Eingabeformular für Neuen
Thread/
Antworten/Bearbeiten . 325
13.2.5 Formular überprüfen . 331
13.2.6 Neue Beiträge einfügen . 332
13.2.7 Die E-Mail-Benachrichtigung . 334
13.2.8 Beiträge bearbeiten . 336
13.2.9 Beiträge löschen . 337
13.3 Die Umfragen . 339
13.3.1 Der Konstruktor der Klasse Umfragen . 340
13.3.2 Die Umfragenübersicht . 341
13.3.3 Abstimmen . 349
13.3.4 Neue Umfragen erstellen . 350
13.3.5 Umfragen bearbeiten . 353
13.3.6 Umfragen löschen. 353
Kapitel 14: Der Galerie-Bereich 355
14.1 Die Berichte . 356
14.1.1 Der Konstruktor der Klasse Berichte. 356
14.1.2 Die Berichteübersicht . 358
14.1.3 Die Berichtansicht . 359
14.1.4 Das Eingabeformular . 360
14.1.5 Berichte eintragen . 362
14.1.6 Berichte bearbeiten . 362
14.1.7 Berichte löschen . 363
14.2 Die Fotos . 364
14.2.1 Der Konstruktor der Klasse Fotos . 365
14.2.2 Die Fotoserienübersicht . 367
14.2.3 Die JavaScript-Datei fotos.js . 368
14.2.4 Erzeugung des Fotoalbums via AJAX: holeFotoAlbum.php . 370
14.2.5 Erzeugung der Großbildansicht via AJAX: holeFoto.php. 372
14.2.6 Der Bilderupload . 373
14.2.7 Fotoserien erweitern . 378
14.2.8 Fotoserien löschen . 378
14.3 Die Downloads . 379
14.3.1 Die Downloadsübericht . 380
14.3.2 Die Downloadansicht . 380
14.3.3 Neue Downloads bereitstellen . 381
14.3.4 Downloads löschen . 383
14.3.5 Downloads bearbeiten . 383
Inhaltsverzeichnis
Kapitel 15: Spielereien 385
15.1 Neues Passwort anfordern . 386
15.1.1 Der Konstruktor der Hasse Passwort . 386
15.1.2 Das Eingabeformular. 387
15.1.3 Prüfung der Benutzerexistenz . 388
15.1.4 Aktivierungs-E-Mail versenden . 388
15.1.5 Den Benutzer umleiten . 389
15.1.6 Neues Passwort generieren, aktivieren und versenden . 390
15.2 Die Besucherstatistik . 391
15.2.1 Der Konstruktor der Klasse Statistik . 392
15.2.2 Die Monatsstatistik . 392
15.2.3 Die Tagesstatistik . 401
15.2.4 Die Monat/Jahr-Übersicht . 404
15.3 Die AJAX-Kommentarfunktion . 405
15.4 Favicon -
Favorite
Icon .
407
Kapitel 16: Zum Schluss 409
Teil
II
Crashkurs_
4ЈП
Kapitel 17: Einführung in den Crashkurs 413
Kapitel 18:
XHTML - Extensible
Hypertext Markup
Language
417
18.1 Was ist HTML und
XHTML?
. 417
18.2 Das W3C - World Wide Web
Consortium
. 419
18.3 Wichtige Begriffe . 419
18.4 Unterschiede zwischen HTML und
XHTML
. 421
18.4.1 XML-konforme Syntaxregeln . 421
18.4.2 XML-Deklaration . 424
18.4.3 DTD -
Document Type
Definition . 425
18.4.4 Namensraum angeben . 425
18.4.5 Dateikopf und Dateikörper . 426
18.5 Kommentare . 427
18.6 Layout des Quelltextes . 427
18.7 Wichtige Elemente . 427
18.7.1 Überschriften und Absätze . 427
18.7.2 Zeilenumbrüche . 429
18.7.3 Grafiken. 429
18.7.4 Verweise . 429
18.7.5 Vorformatierter Text . 431
18.8 Listen . 432
18.8.1 Geordnete Listen . 432
18.8.2 Ungeordnete Listen . 432
18.8.3 Beispiel . 432
18.8.4 Definitionslisten. 434
10
Inhaltsverzeichnis
18.9 Tabellen . 435
18.10 Textauszeichnungen . 438
18.11 Formulare . 440
18.11.1 Das Element form . 441
18.11.2 Kontrollelemente . 442
18.11.3 Ein Beispiel . 445
18.12 Block- und Inlineelemente . 447
18.12.1 Typische Elemente . 447
18.12.2
div
und
span
. 448
18.13
Element-Identifìzierer .
448
18.14 Zeichenreferenzen . 448
18.14.1 Warum Zeichenreferenzen? . 449
18.14.2 Unicode . 449
18.14.3 XHTML-eigene Zeichen . 450
18.14.4 Sonderzeichen und
-symbole
. 450
18.14.5 Browser und Zeichensätze . 451
Kapitel 19: CSS -
Cascading
Style Sheets 453
19.1 Was sind
Cascading
Style Sheets? . 453
19.2 Das Attribut style . 454
19.3 Zentrale Formatanweisungen . 456
19.3.1 Das Element style . 456
19.3.2 Separate CSS-Dateien . 457
19.3.3 Separate Stylesheets für unterschiedliche Ausgabemedien . . . 458
19.4 Kommentare . 459
19.5 Selektorenanweisungen . 459
19.6 Selektoren . 459
19.6.1 Elementselektoren . 459
19.6.2 class-Selektoren . 461
19.6.3 id-Selektoren . 462
19.6.4 Kombinierte Selektoren . 463
19.6.5 Kindselektoren . 465
19.6.6 Attributselektoren . 466
19.6.7 Der
Universalselektor
. 466
19.6.8 Pseudoklassen und Pseudoelemente . 467
19.6.9 Mehrere Selektoren gleichzeitig notieren . 471
19.6.10 Selektoren einschränken . 471
19.7 Vererbung . 471
19.8 Größenangaben . 472
19.9 Farbangaben . 473
19.10 Box-Model . 474
19.11 Elemente positionieren . 477
19.11.1
position:
static .
477
19.11.2
position:
relative . 479
19.11.3
position:
absolute . 482
19.11.4
position: fixed
. 484
11
Inhaltsverzeichnis
19.11.5 z-index . 485
19.11.6
float .
488
19.12 Weitere wichtige Eigenschaften . 491
19.12.1 Texteigenschaften . 491
19.12.2 Hintergrundbilder . 492
19.12.3 Übergroße Inhalte . 494
19.12.4 Sichtbarkeit . 496
Kapitel 20: JavaScript 497
20.1 Was ist JavaScript?. 497
20.1.1 Die Entstehung von JavaScript. 497
20.1.2 Clientseitigkeit. 497
20.2 Code einbetten oder einbinden. 498
20.2.1 Das Element
script
. 498
20.2.2 Externe Dateien. 499
20.3 Kommentare . 500
20.4 Links und Eventhandler . 500
20.5 Variablen . 501
20.5.1
Strings
(Zeichenketten) . 502
20.5.2 Zahlen. 502
20.5.3 Boolesche Werte . 502
20.5.4
Arrays
. 502
20.5.5 Objekte. 503
20.6 Operatoren. 504
20.6.1 Verkettungsoperator . 504
20.6.2 Arithmetische Operatoren. 505
20.6.3 Kombinierte Zuweisungsoperatoren. 506
20.6.4 Logische Operatoren. 507
20.6.5 Vergleichsoperatoren. 508
20.7 Kontrollstrukturen . 508
20.7.1
if
-
else if
-
else
. 508
20.7.2
switch
. 509
20.7.3 Schleifen. 510
20.8 Benutzerdefinierte Funktionen . 512
20.8.1 Funktionen ohne Rückgabewert. 512
20.8.2 Funktionen mit Rückgabewert . 513
20.8.3 Variablensichtbarkeit. 513
20.9 Das Objekt Math . 514
20.10 Das Objekt
Date
. 515
20.11 Grafiken . 516
20.12 Formulare. 518
20.13 Neues Browserfenster öffnen
(Popup)
. 522
20.14 JSON. 524
20.15 Checkboxen-Spiel - ein Beispiel. 525
12
Inhaltsverzeichnis
Kapitel 21 : PHP - PHP: Hypertext
Preprocessor
531
21.1 Was ist PHP? . 531
21.2 Die Geschichte von PHP . 531
21.3 Was Sie zum Loslegen benötigen . 532
21.4 »Hallo Welt« . 533
21.5 Grundlagen . 535
21.5.1 Variablen und Datentypen . 535
21.5.2 Verkettungsoperator. 536
21.5.3 Dynamische Variablen . 537
21.5.4 Anführungszeichen . 537
21.5.5
Arrays
. 538
21.6 Operatoren . 539
21.6.1 Arithmetische Operatoren . 539
21.6.2 Weitere Zuweisungsoperatoren . 540
21.6.3 Ausdrücke . 541
21.6.4 Logische und Vergleichsoperatoren . 541
21.6.5 Der Fehleroperator . 543
21.6.6 In- und Dekrementierung . 543
21.7 Globale Konstanten . 544
21.8 Kontrollstrukturen . 544
21.8.1 Verzweigungen . 544
21.8.2 Schleifen . 546
21.9 Funktionen . 550
21.9.1 Wichtige Built-in-Funktionen . 550
21.9.2 Benutzerdefinierte Funktionen . 556
21.10 Reguläre Ausdrücke . 561
21.10.1 Muster suchen mit der Funktion preg_match() . 561
21.10.2 Sonderzeichen . 561
21.10.3 Muster ersetzen mit der Funktion preg_replace() . 564
21.10.4
Modifier
. 564
21.11 Formulare . 565
21.11.1 Formulare definieren und verarbeiten . 565
21.11.2 Formulararrays . 570
21.12 GET-Parameter . 570
21.13 Cookies . 572
21.14 Session . 572
21.15 Dateien . 573
21.15.1 Dateien einbinden . 573
21.15.2 Dateien öffnen und schließen . 574
21.15.3 Dateien schreiben und lesen . 575
21.16 Objektorientierte Programmierung (OOP) . 575
21.16.1 Klassen, Objekte, Eigenschaften und Methoden . 576
21.16.2 Sichtbarkeit und Vererbung . 578
21.16.3 Zusammenfassung des bisher Gelernten . 580
21.16.4 Konstruktor. 581
13
Inhaltsverzeichnis
21.16.5 Weitere Spezialmethoden . 583
21.16.6 Objektbezeichner kopieren. 586
21.17 Der swiftmailer - E-Mail-Versand leicht gemacht . 586
21.17.1 E-Mails über einen entfernten
SMTP-Server
versenden. 587
21.17.2 Weitere Features . 589
21.17.3 E-Mails mit der Funktion mail() versenden . 590
21.18 Besucherzähler ohne Datenbank - ein Beispiel . 590
Kapitel 22: MySQL -
My Structured Query Language
595
22.1
Was
ist MySQL?. 595
22.2
Die
MySQL-Konsole . 595
22.3 Beispielprojekt Filmdatenbank . 596
22.4
Objektbezeichner
. 596
22.5 Datenbanken . 596
22.5.1
CREATE DATABASE
. 597
22.5.2 Zeichensatz und Kollation . 597
22.5.3
USE
. 597
22.5.4
DROP DATABASE
. 598
22.6 Datenbankdesign und Normalisierungsregeln . 598
22.6.1 Hierarchische Tabellen . 602
22.7 Tabellentypen . 603
22.8 Tabellenspalten . 603
22.8.1 Datentypen . 603
22.8.2 Spaltenattribute . 604
22.9 Tabellen anlegen und überprüfen . 604
22.9.1
CREATE TABLE .
604
22.9.2
SHOW CREATE TABLE
. 606
22.9.3
DROP TABLE
. 606
22.10 Indizes. 606
22.11 Daten mit
INSERT
einfügen . 608
22.12 Datensätze mit
SELECT
abfragen . 608
22.13 Weitere Testdaten einfügen . 609
22.14 Datensätze mit UPDATE aktualisieren . 610
22.15 Abfragen limitieren und sortieren . 610
22.16 Datensätze mit COUNT() zählen und
Aliase
vergeben . 612
22.17
WHERE
und
LIKE
. 612
22.18 Verknüpfte Abfragen
(Joins)
. 614
22.19 Variablen . 616
22.20 Umgang mit Zeitstempeln . 616
22.20.1 DATE_FORMAT() . 616
22.20.2 DATE_ADD() und DATE_SUB(). 617
22.21 Daten löschen mit
DELETE
. 618
22.22 Transaktionen . 619
22.23 Die virtuelle Datenbank informatio^schema . 620
22.24 Views . 621
22.25 Beispiel Kinoprogramm . 622
14
Inhaltsverzeichnis
Kapitel 23: PHP und MySQL - mysqli 625
23.1 Verbindung zum MySQL-Server herstellen . 625
23.2 Verbindungsinformationen . 626
23.3 Datenbank wählen . 626
23.4 Einzelne SQL-Kommandos ausführen . 627
23.4.1 Abfragen ohne Ergebnisressource . 628
23.4.2 Abfragen mit Ergebnisressource . 628
23.4.3 Metadaten . 629
23.5 Mehrere SQL-Kommandos gleichzeitig ausführen . 630
23.6 Ergebnisressourcen freigeben . 632
23.7
Prepared
Statements . 632
23.7.1 Abfragen ohne Ergebnisressource . 632
23.7.2 Abfragen mit Ergebnisressource . 633
Kapitel 24: Umgang mit phpMyAdmin 635
24.1 Die Bildschirm-Aufteilung . 636
24.2 Datenbankbenutzer anlegen . 637
24.3 Datenbanken verwalten . 639
24.4 Tabellen verwalten . 640
24.5 Backups erstellen und einspielen . 643
24.5.1 Export . 643
24.5.2 Import . 644
24.5.3 Alternativen . 644
Kapitel 25: AJAX -
Asynchronous
JavaScript And XML 647
25.1 Was ist AJAX?. 647
25.2 AJAX-Engine erstellen . 648
25.3 Beispiel: AJAX-Chat. 654
25.4 JSON . 658
25.5 Beispiel mit JSON: Navigation. 658
Teil
III
Installationen 663
Kapitel 26: Einrichtung einer Entwicklungsumgebung 665
26.1
WAMP
- Windows Apache MySQL PHP . 666
26.1.1 Apache. 666
26.1.2 MySQL . 671
26.1.3 PHP . 674
26.2
LAMP
- Linux Apache MySQL PHP . 679
26.2.1
LAMP
auf openSUSE (rpm-Pakete). 680
26.2.2
LAMP
von Hand installieren. 681
26.2.3 Apache selbst kompilieren . 681
26.2.4 MySQL von Hand installieren. 684
26.2.5 PHP selbst kompilieren. 688
15
Inhaltsverzeichnis
Kapitel 27: phpMyAdmin - Installation und Konfiguration 695
27.1 Was ist phpMyAdmin? . 695
27.2 Installation . 695
27.2.1 Die Authentifizierungsmethode config. 697
27.2.2 Die Authentifizierungsmethode http. 698
27.2.3 Die Authentifizierungsmethode
cookie
. 698
27.2.4 Mehrere Server verwalten. 699
27.2.5 Testen. 701
27.3 Die mbstring-Erweiterung. 702
27.4 Spielerei - verschiedene Farbthemen. 702
27.5 Hinweise. 702
Kapitel 28: HTTP-Verzeichnisschutz über die Datei .htaccess 705
28.1 Was sind eine HTTP-Authentifizierung und die Datei .htaccess?. 705
28.2 .htaccess erlauben. 706
28.3 .htaccess-Datei anlegen . 706
28.4 .htpasswd-Datei erzeugen. 707
28.5 Fehlersuche. 709
Kapitel 29: Postfix mit MySQL-Unterstützung 711
29.1 Was ist Postfix?. 711
29.2 Grundlagen. 711
29.2.1 So funktioniert Postfix. 712
29.2.2 Konfiguration. 712
29.3 Postfix und das Projekt aus dem ersten Buchteil. 714
29.4 Postfix kompilieren und
upgraden
. 714
29.5 Fehlersuche. 717
Kapitel 30: Browser 719
Anhang A: Nützliche Links 721
Stichwortverzeichnis 729
16 |
adam_txt |
Inhaltsverzeichnis
Einleitung, Themenüberblick und Buchaufbau 17
E.l Die Themen des Buchs im Überblick . 17
E.2 Der Aufbau des Buchs . 19
E.3 Die Buch-CD . 25
E.4 Danksagung . 25
Teil
I
Das Projekt_27
Kapitel 1 : Einführung in das Projekt 29
1.1 Was ist das Projekt? . 29
1.2 Welchen Nutzen hat die Projekt-Website? . 31
1.3 Was kann die Projekt-
Web site?
. 31
1.3.1 Funktionen für Gäste . 33
1.3.2 Funktionen für eingeloggte Mitglieder . 34
1.3.3 Besondere Funktionen . 35
1.3.4 Funktionen für Administratoren . 36
1.3.5 Funktionen für Super-Administratoren . 37
1.3.6 Weitere Features . 37
1.4 Technische Umsetzung. 38
Kapitel 2: Installation der Projektwebsite 43
2.1 Installation der Skripte . 43
2.2 phpMyAdmin . 44
2.3 Die Konfigurationsdatei . 44
2.4 Installation der MySQL-Tabellen . 45
2.5 Der erste Menüpunkt . 47
2.6 Die Farbthemen . 47
2.7 Die ersten Module . 48
2.8 Der erste Fußleistenmenüpunkt . 49
2.9 Testen der Installation . 49
2.10 Komplettes Projekt installieren . 50
2.11 Absichern der Installation . 51
Inhaltsverzeichnis
Kapitel 3: Konzeption 53
3.1 Konventionen . 53
3.1.1 MySQL. 54
3.1.2 PHP . 55
3.2 Verzeichnisstruktur . 59
3.3 Schreibrechte . 62
3.4 Datenbankdesign . 64
3.4.1 Die Projekt-Tabellen . 65
3.4.2 So funktionieren die Tabellen . 67
3.5 Klassenstruktur . 73
3.6 Die XHTML-Struktur für das CSS-Design . 75
3.7 Grafische Vorbereitungen . 78
3.7.1 Farben . 78
3.7.2 Grafiken . 78
3.8 Abhängigkeiten . 80
Kapitel 4: Die Konfigurationsdatei konf.ink.php 83
4.1 Seiten-, Admin- und allgemeine Konstanten . 84
4.2 Blockzeiten. 87
4.3 Anwendungen . 87
4.3.1 Bilddateien. 87
4.3.2 Anwendungsparameter . 91
4.4 Module . 92
4.5 Sonstiges. 93
4.6
Arrays
. 95
Kapitel 5: Der
MySQL-Wrapper
97
5.1 Die Klasse MySQL . 99
5.2 Die Klasse MySQLStatement . 102
5.2.1 Abfragen ausführen . 104
5.2.2 Abfragen ohne Ergebnisressource . 105
5.2.3 Abfragen mit Ergebnisressource . 106
5.2.4 Mehrere Abfragen gleichzeitig ausführen . 108
Kapitel 6: Die Administrationsoberfläche 111
6.1 Die Indexdatei . 111
6.2 Das Design . 116
6.3 Der Menüpunkt »Installation« . 117
6.4 Die Klasse AdminMenueelement . 123
6.5 Der Menüpunkt »Menüpunkte« . 131
6.6 Der Menüpunkt »Fußleistenmenü« . 138
6.7 Der Menüpunkt »Module« . 140
6.8 Der Menüpunkt »Farbthemen« . 143
Inhaltsverzeichnis
Kapitel 7: Die Hauptseite 145
7.1 Die Hauptindexdatei index2.php . 146
7.1.1 Der Dateikopf. 146
7.1.2 Der Dateikörper . 153
7.1.3 Der Dateifuß . 166
7.2 Die Klasse
Tabs
. 166
7.2.1 Die GET-Parameter . 166
7.2.2 Der XHTML-Code für die Menüpunkte . 171
7.3 Die Klasse Module . 179
7.4 Die Ariadne-Navigation . 181
7.4.1 Die Methode Allgemein: :internerLink() . 183
7.4.2 Die Methode Basis::queryHolen() . 183
7.4.3 Die Rauf/Runter-Pfeile . 185
Kapitel 8: Der Registrierungsprozess 187
8.1 Die MySQL-Tabellen . 188
8.1.1 Tabellen für die Benutzerverwaltung . 188
8.1.2 Tabellen für temporäre Sperren (Spamschutz) . 190
8.2 Die Session-Registrierung . 191
8.3 Die Registrierungsseiten . 192
8.3.1 Die Klasse Registrierung . 193
8.3.2 Die Klasse Interaktiv . 196
8.4 Die Registrierung . 201
8.5 Umleitung zur Accountaktivierung . 203
8.6 Die Accountaktivierung . 204
8.7 Dynamische Überschriften (Kopfboxüberschriften) . 206
Kapitel 9: Login und
Logout
209
9.1 Das Login-Modul . 210
9.2 Die Klasse Login . 212
9.3 Der Login . 214
9.4 Der
Logout
. 216
Kapitell 0: Weitere Module 219
10.1 Das Aktuell-Modul . 219
10.2 Der Besucherzähler . 222
10.3 Das Online-Modul . 223
10.3.1 Benutzer registrieren . 224
10.3.2 Anzeigewerte setzen . 225
10.4 Shoutbox . 227
10.4.1 Die Klasse Shoutbox . 227
10.4.2 Die Inner-Frame-Datei shoutbox.php . 230
10.5 Das Links-Modul . 232
10.6 Das Quick-Iinks-Modul . 232
Inhaltsverzeichnis
Kapitel
TI: Die
Profilseite 235
11.1 Die E-Mail-Weiterleitungen . 236
11.2 Die Klasse Profil . 237
11.3 Die Datei profil.php . 238
11.3.1 Datumsauswahlfelder mit der Klasse Datumsformulare . 239
11.3.2 Avatare anzeigen mit der Klasse
Avatar
. 241
11.3.3 Details . 242
11.4 Die weiteren Methoden der Klasse Profil . 243
11.4.1 Profildaten laden . 243
11.4.2 Profildaten mit der Klasse Interaktiv überprüfen . 243
11.4.3 Profil aktualisieren . 249
11.5 Account löschen . 253
11.6 Bilder verschieben und verkleinern . 254
11.6.1 Hochgeladene Bilder verschieben . 254
11.6.2 Bilder verkleinern . 256
Kapitel 12: Der Mitgliederbereich 259
12.1 Das Mitgliederverzeichnis . 260
12.1.1 Der Konstruktor der Klasse Mitgliederverzeichnis . 260
12.1.2 _toString() . 260
12.1.3 Das Verzeichnis . 261
12.1.4 Die Profile . 273
12.2 Die Mitgliederverwaltung . 274
12.2.1 Zugriffserlaubnis prüfen . 276
12.2.2 Die Benutzerauswahl . 277
12.2.3 Das Verwaltungsformular. 278
12.2.4 Benutzerrechte und
-status
aktualisieren . 280
12.3 Die Links- und
Quick-Links-
Verwaltung . 281
12.4 Der Newsletter. 284
12.4.1 Die Indexseite . 284
12.4.2 Die Klasse Mailversand . 285
12.4.3 Mailversand erfolgreich . 288
12.4.4 Das E-Mail-Formular . 288
12.4.5 Die Klasse Newsletter . 291
12.4.6 Mails versenden mit der Methode Interaktiv::sendeMail() . 292
12.5 Windows und die Funktion mail() . 295
Kapitel 13: Der Interaktiv-Bereich 297
13.1 Das Gästebuch . 298
13.1.1 Der Konstruktor der Klasse Gaestebuch . 299
13.1.2 Das Gästebuch anzeigen . 301
13.1.3 Das Formular erzeugen und Eingaben prüfen . 309
13.1.4 Neue Einträge vornehmen . 313
13.1.5 Einträge bearbeiten . 313
13.1.6 Einträge löschen . 314
Inhaltsverzeichnis
13.2 Das Forum . 314
13.2.1 Der Konstruktor der Klasse Forum . 315
13.2.2 Die Threadsübersicht und die Suchfunktion. 317
13.2.3 Die Threadansicht . 321
13.2.4 Das Eingabeformular für Neuen
Thread/
Antworten/Bearbeiten . 325
13.2.5 Formular überprüfen . 331
13.2.6 Neue Beiträge einfügen . 332
13.2.7 Die E-Mail-Benachrichtigung . 334
13.2.8 Beiträge bearbeiten . 336
13.2.9 Beiträge löschen . 337
13.3 Die Umfragen . 339
13.3.1 Der Konstruktor der Klasse Umfragen . 340
13.3.2 Die Umfragenübersicht . 341
13.3.3 Abstimmen . 349
13.3.4 Neue Umfragen erstellen . 350
13.3.5 Umfragen bearbeiten . 353
13.3.6 Umfragen löschen. 353
Kapitel 14: Der Galerie-Bereich 355
14.1 Die Berichte . 356
14.1.1 Der Konstruktor der Klasse Berichte. 356
14.1.2 Die Berichteübersicht . 358
14.1.3 Die Berichtansicht . 359
14.1.4 Das Eingabeformular . 360
14.1.5 Berichte eintragen . 362
14.1.6 Berichte bearbeiten . 362
14.1.7 Berichte löschen . 363
14.2 Die Fotos . 364
14.2.1 Der Konstruktor der Klasse Fotos . 365
14.2.2 Die Fotoserienübersicht . 367
14.2.3 Die JavaScript-Datei fotos.js . 368
14.2.4 Erzeugung des Fotoalbums via AJAX: holeFotoAlbum.php . 370
14.2.5 Erzeugung der Großbildansicht via AJAX: holeFoto.php. 372
14.2.6 Der Bilderupload . 373
14.2.7 Fotoserien erweitern . 378
14.2.8 Fotoserien löschen . 378
14.3 Die Downloads . 379
14.3.1 Die Downloadsübericht . 380
14.3.2 Die Downloadansicht . 380
14.3.3 Neue Downloads bereitstellen . 381
14.3.4 Downloads löschen . 383
14.3.5 Downloads bearbeiten . 383
Inhaltsverzeichnis
Kapitel 15: Spielereien 385
15.1 Neues Passwort anfordern . 386
15.1.1 Der Konstruktor der Hasse Passwort . 386
15.1.2 Das Eingabeformular. 387
15.1.3 Prüfung der Benutzerexistenz . 388
15.1.4 Aktivierungs-E-Mail versenden . 388
15.1.5 Den Benutzer umleiten . 389
15.1.6 Neues Passwort generieren, aktivieren und versenden . 390
15.2 Die Besucherstatistik . 391
15.2.1 Der Konstruktor der Klasse Statistik . 392
15.2.2 Die Monatsstatistik . 392
15.2.3 Die Tagesstatistik . 401
15.2.4 Die Monat/Jahr-Übersicht . 404
15.3 Die AJAX-Kommentarfunktion . 405
15.4 Favicon -
Favorite
Icon .
407
Kapitel 16: Zum Schluss 409
Teil
II
Crashkurs_
4ЈП
Kapitel 17: Einführung in den Crashkurs 413
Kapitel 18:
XHTML - Extensible
Hypertext Markup
Language
417
18.1 Was ist HTML und
XHTML?
. 417
18.2 Das W3C - World Wide Web
Consortium
. 419
18.3 Wichtige Begriffe . 419
18.4 Unterschiede zwischen HTML und
XHTML
. 421
18.4.1 XML-konforme Syntaxregeln . 421
18.4.2 XML-Deklaration . 424
18.4.3 DTD -
Document Type
Definition . 425
18.4.4 Namensraum angeben . 425
18.4.5 Dateikopf und Dateikörper . 426
18.5 Kommentare . 427
18.6 Layout des Quelltextes . 427
18.7 Wichtige Elemente . 427
18.7.1 Überschriften und Absätze . 427
18.7.2 Zeilenumbrüche . 429
18.7.3 Grafiken. 429
18.7.4 Verweise . 429
18.7.5 Vorformatierter Text . 431
18.8 Listen . 432
18.8.1 Geordnete Listen . 432
18.8.2 Ungeordnete Listen . 432
18.8.3 Beispiel . 432
18.8.4 Definitionslisten. 434
10
Inhaltsverzeichnis
18.9 Tabellen . 435
18.10 Textauszeichnungen . 438
18.11 Formulare . 440
18.11.1 Das Element form . 441
18.11.2 Kontrollelemente . 442
18.11.3 Ein Beispiel . 445
18.12 Block- und Inlineelemente . 447
18.12.1 Typische Elemente . 447
18.12.2
div
und
span
. 448
18.13
Element-Identifìzierer .
448
18.14 Zeichenreferenzen . 448
18.14.1 Warum Zeichenreferenzen? . 449
18.14.2 Unicode . 449
18.14.3 XHTML-eigene Zeichen . 450
18.14.4 Sonderzeichen und
-symbole
. 450
18.14.5 Browser und Zeichensätze . 451
Kapitel 19: CSS -
Cascading
Style Sheets 453
19.1 Was sind
Cascading
Style Sheets? . 453
19.2 Das Attribut style . 454
19.3 Zentrale Formatanweisungen . 456
19.3.1 Das Element style . 456
19.3.2 Separate CSS-Dateien . 457
19.3.3 Separate Stylesheets für unterschiedliche Ausgabemedien . . . 458
19.4 Kommentare . 459
19.5 Selektorenanweisungen . 459
19.6 Selektoren . 459
19.6.1 Elementselektoren . 459
19.6.2 class-Selektoren . 461
19.6.3 id-Selektoren . 462
19.6.4 Kombinierte Selektoren . 463
19.6.5 Kindselektoren . 465
19.6.6 Attributselektoren . 466
19.6.7 Der
Universalselektor
. 466
19.6.8 Pseudoklassen und Pseudoelemente . 467
19.6.9 Mehrere Selektoren gleichzeitig notieren . 471
19.6.10 Selektoren einschränken . 471
19.7 Vererbung . 471
19.8 Größenangaben . 472
19.9 Farbangaben . 473
19.10 Box-Model . 474
19.11 Elemente positionieren . 477
19.11.1
position:
static .
477
19.11.2
position:
relative . 479
19.11.3
position:
absolute . 482
19.11.4
position: fixed
. 484
11
Inhaltsverzeichnis
19.11.5 z-index . 485
19.11.6
float .
488
19.12 Weitere wichtige Eigenschaften . 491
19.12.1 Texteigenschaften . 491
19.12.2 Hintergrundbilder . 492
19.12.3 Übergroße Inhalte . 494
19.12.4 Sichtbarkeit . 496
Kapitel 20: JavaScript 497
20.1 Was ist JavaScript?. 497
20.1.1 Die Entstehung von JavaScript. 497
20.1.2 Clientseitigkeit. 497
20.2 Code einbetten oder einbinden. 498
20.2.1 Das Element
script
. 498
20.2.2 Externe Dateien. 499
20.3 Kommentare . 500
20.4 Links und Eventhandler . 500
20.5 Variablen . 501
20.5.1
Strings
(Zeichenketten) . 502
20.5.2 Zahlen. 502
20.5.3 Boolesche Werte . 502
20.5.4
Arrays
. 502
20.5.5 Objekte. 503
20.6 Operatoren. 504
20.6.1 Verkettungsoperator . 504
20.6.2 Arithmetische Operatoren. 505
20.6.3 Kombinierte Zuweisungsoperatoren. 506
20.6.4 Logische Operatoren. 507
20.6.5 Vergleichsoperatoren. 508
20.7 Kontrollstrukturen . 508
20.7.1
if
-
else if
-
else
. 508
20.7.2
switch
. 509
20.7.3 Schleifen. 510
20.8 Benutzerdefinierte Funktionen . 512
20.8.1 Funktionen ohne Rückgabewert. 512
20.8.2 Funktionen mit Rückgabewert . 513
20.8.3 Variablensichtbarkeit. 513
20.9 Das Objekt Math . 514
20.10 Das Objekt
Date
. 515
20.11 Grafiken . 516
20.12 Formulare. 518
20.13 Neues Browserfenster öffnen
(Popup)
. 522
20.14 JSON. 524
20.15 Checkboxen-Spiel - ein Beispiel. 525
12
Inhaltsverzeichnis
Kapitel 21 : PHP - PHP: Hypertext
Preprocessor
531
21.1 Was ist PHP? . 531
21.2 Die Geschichte von PHP . 531
21.3 Was Sie zum Loslegen benötigen . 532
21.4 »Hallo Welt« . 533
21.5 Grundlagen . 535
21.5.1 Variablen und Datentypen . 535
21.5.2 Verkettungsoperator. 536
21.5.3 Dynamische Variablen . 537
21.5.4 Anführungszeichen . 537
21.5.5
Arrays
. 538
21.6 Operatoren . 539
21.6.1 Arithmetische Operatoren . 539
21.6.2 Weitere Zuweisungsoperatoren . 540
21.6.3 Ausdrücke . 541
21.6.4 Logische und Vergleichsoperatoren . 541
21.6.5 Der Fehleroperator . 543
21.6.6 In- und Dekrementierung . 543
21.7 Globale Konstanten . 544
21.8 Kontrollstrukturen . 544
21.8.1 Verzweigungen . 544
21.8.2 Schleifen . 546
21.9 Funktionen . 550
21.9.1 Wichtige Built-in-Funktionen . 550
21.9.2 Benutzerdefinierte Funktionen . 556
21.10 Reguläre Ausdrücke . 561
21.10.1 Muster suchen mit der Funktion preg_match() . 561
21.10.2 Sonderzeichen . 561
21.10.3 Muster ersetzen mit der Funktion preg_replace() . 564
21.10.4
Modifier
. 564
21.11 Formulare . 565
21.11.1 Formulare definieren und verarbeiten . 565
21.11.2 Formulararrays . 570
21.12 GET-Parameter . 570
21.13 Cookies . 572
21.14 Session . 572
21.15 Dateien . 573
21.15.1 Dateien einbinden . 573
21.15.2 Dateien öffnen und schließen . 574
21.15.3 Dateien schreiben und lesen . 575
21.16 Objektorientierte Programmierung (OOP) . 575
21.16.1 Klassen, Objekte, Eigenschaften und Methoden . 576
21.16.2 Sichtbarkeit und Vererbung . 578
21.16.3 Zusammenfassung des bisher Gelernten . 580
21.16.4 Konstruktor. 581
13
Inhaltsverzeichnis
21.16.5 Weitere Spezialmethoden . 583
21.16.6 Objektbezeichner kopieren. 586
21.17 Der swiftmailer - E-Mail-Versand leicht gemacht . 586
21.17.1 E-Mails über einen entfernten
SMTP-Server
versenden. 587
21.17.2 Weitere Features . 589
21.17.3 E-Mails mit der Funktion mail() versenden . 590
21.18 Besucherzähler ohne Datenbank - ein Beispiel . 590
Kapitel 22: MySQL -
My Structured Query Language
595
22.1
Was
ist MySQL?. 595
22.2
Die
MySQL-Konsole . 595
22.3 Beispielprojekt Filmdatenbank . 596
22.4
Objektbezeichner
. 596
22.5 Datenbanken . 596
22.5.1
CREATE DATABASE
. 597
22.5.2 Zeichensatz und Kollation . 597
22.5.3
USE
. 597
22.5.4
DROP DATABASE
. 598
22.6 Datenbankdesign und Normalisierungsregeln . 598
22.6.1 Hierarchische Tabellen . 602
22.7 Tabellentypen . 603
22.8 Tabellenspalten . 603
22.8.1 Datentypen . 603
22.8.2 Spaltenattribute . 604
22.9 Tabellen anlegen und überprüfen . 604
22.9.1
CREATE TABLE .
604
22.9.2
SHOW CREATE TABLE
. 606
22.9.3
DROP TABLE
. 606
22.10 Indizes. 606
22.11 Daten mit
INSERT
einfügen . 608
22.12 Datensätze mit
SELECT
abfragen . 608
22.13 Weitere Testdaten einfügen . 609
22.14 Datensätze mit UPDATE aktualisieren . 610
22.15 Abfragen limitieren und sortieren . 610
22.16 Datensätze mit COUNT() zählen und
Aliase
vergeben . 612
22.17
WHERE
und
LIKE
. 612
22.18 Verknüpfte Abfragen
(Joins)
. 614
22.19 Variablen . 616
22.20 Umgang mit Zeitstempeln . 616
22.20.1 DATE_FORMAT() . 616
22.20.2 DATE_ADD() und DATE_SUB(). 617
22.21 Daten löschen mit
DELETE
. 618
22.22 Transaktionen . 619
22.23 Die virtuelle Datenbank informatio^schema . 620
22.24 Views . 621
22.25 Beispiel Kinoprogramm . 622
14
Inhaltsverzeichnis
Kapitel 23: PHP und MySQL - mysqli 625
23.1 Verbindung zum MySQL-Server herstellen . 625
23.2 Verbindungsinformationen . 626
23.3 Datenbank wählen . 626
23.4 Einzelne SQL-Kommandos ausführen . 627
23.4.1 Abfragen ohne Ergebnisressource . 628
23.4.2 Abfragen mit Ergebnisressource . 628
23.4.3 Metadaten . 629
23.5 Mehrere SQL-Kommandos gleichzeitig ausführen . 630
23.6 Ergebnisressourcen freigeben . 632
23.7
Prepared
Statements . 632
23.7.1 Abfragen ohne Ergebnisressource . 632
23.7.2 Abfragen mit Ergebnisressource . 633
Kapitel 24: Umgang mit phpMyAdmin 635
24.1 Die Bildschirm-Aufteilung . 636
24.2 Datenbankbenutzer anlegen . 637
24.3 Datenbanken verwalten . 639
24.4 Tabellen verwalten . 640
24.5 Backups erstellen und einspielen . 643
24.5.1 Export . 643
24.5.2 Import . 644
24.5.3 Alternativen . 644
Kapitel 25: AJAX -
Asynchronous
JavaScript And XML 647
25.1 Was ist AJAX?. 647
25.2 AJAX-Engine erstellen . 648
25.3 Beispiel: AJAX-Chat. 654
25.4 JSON . 658
25.5 Beispiel mit JSON: Navigation. 658
Teil
III
Installationen 663
Kapitel 26: Einrichtung einer Entwicklungsumgebung 665
26.1
WAMP
- Windows Apache MySQL PHP . 666
26.1.1 Apache. 666
26.1.2 MySQL . 671
26.1.3 PHP . 674
26.2
LAMP
- Linux Apache MySQL PHP . 679
26.2.1
LAMP
auf openSUSE (rpm-Pakete). 680
26.2.2
LAMP
von Hand installieren. 681
26.2.3 Apache selbst kompilieren . 681
26.2.4 MySQL von Hand installieren. 684
26.2.5 PHP selbst kompilieren. 688
15
Inhaltsverzeichnis
Kapitel 27: phpMyAdmin - Installation und Konfiguration 695
27.1 Was ist phpMyAdmin? . 695
27.2 Installation . 695
27.2.1 Die Authentifizierungsmethode config. 697
27.2.2 Die Authentifizierungsmethode http. 698
27.2.3 Die Authentifizierungsmethode
cookie
. 698
27.2.4 Mehrere Server verwalten. 699
27.2.5 Testen. 701
27.3 Die mbstring-Erweiterung. 702
27.4 Spielerei - verschiedene Farbthemen. 702
27.5 Hinweise. 702
Kapitel 28: HTTP-Verzeichnisschutz über die Datei .htaccess 705
28.1 Was sind eine HTTP-Authentifizierung und die Datei .htaccess?. 705
28.2 .htaccess erlauben. 706
28.3 .htaccess-Datei anlegen . 706
28.4 .htpasswd-Datei erzeugen. 707
28.5 Fehlersuche. 709
Kapitel 29: Postfix mit MySQL-Unterstützung 711
29.1 Was ist Postfix?. 711
29.2 Grundlagen. 711
29.2.1 So funktioniert Postfix. 712
29.2.2 Konfiguration. 712
29.3 Postfix und das Projekt aus dem ersten Buchteil. 714
29.4 Postfix kompilieren und
upgraden
. 714
29.5 Fehlersuche. 717
Kapitel 30: Browser 719
Anhang A: Nützliche Links 721
Stichwortverzeichnis 729
16 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Rieber, Philipp |
author_facet | Rieber, Philipp |
author_role | aut |
author_sort | Rieber, Philipp |
author_variant | p r pr |
building | Verbundindex |
bvnumber | BV023116795 |
classification_rvk | ST 252 |
classification_tum | DAT 675f |
ctrlnum | (OCoLC)643277417 (DE-599)BVBBV023116795 |
discipline | Informatik |
discipline_str_mv | Informatik |
edition | 2. aktualisierte Aufl. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a2200000 c 4500</leader><controlfield tag="001">BV023116795</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20240523</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">080207s2009 gw a||| |||| 00||| ger d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783826617829</subfield><subfield code="9">978-3-8266-1782-9</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)643277417</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV023116795</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakddb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">ger</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">XA-DE-NW</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-M347</subfield><subfield code="a">DE-473</subfield><subfield code="a">DE-898</subfield><subfield code="a">DE-1047</subfield><subfield code="a">DE-859</subfield><subfield code="a">DE-91G</subfield><subfield code="a">DE-83</subfield><subfield code="a">DE-12</subfield><subfield code="a">DE-29T</subfield><subfield code="a">DE-29</subfield><subfield code="a">DE-824</subfield><subfield code="a">DE-1049</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 252</subfield><subfield code="0">(DE-625)143627:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 675f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Rieber, Philipp</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Dynamische Webseiten in der Praxis</subfield><subfield code="b">mit PHP 5, MySQL 5, XHTML, CSS, JavaScript und Ajax</subfield><subfield code="c">Philipp Rieber</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">2. aktualisierte Aufl.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Bonn</subfield><subfield code="b">mitp-Verl.</subfield><subfield code="c">2009</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">744 S.</subfield><subfield code="b">Ill.</subfield><subfield code="e">1 CD-ROM (12 cm)</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">JavaScript</subfield><subfield code="0">(DE-588)4420180-1</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">XHTML</subfield><subfield code="0">(DE-588)4600114-1</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Eclipse</subfield><subfield code="g">Programmierumgebung</subfield><subfield code="0">(DE-588)4768065-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Dynamische Web-Seite</subfield><subfield code="0">(DE-588)4481830-0</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Content Management</subfield><subfield code="0">(DE-588)4673954-3</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">PHP 5.0</subfield><subfield code="0">(DE-588)4763174-0</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Cascading Style Sheets</subfield><subfield code="0">(DE-588)4467617-7</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">MySQL</subfield><subfield code="0">(DE-588)4559381-4</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Content Management</subfield><subfield code="0">(DE-588)4673954-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Dynamische Web-Seite</subfield><subfield code="0">(DE-588)4481830-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">MySQL</subfield><subfield code="0">(DE-588)4559381-4</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="3"><subfield code="a">PHP 5.0</subfield><subfield code="0">(DE-588)4763174-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Content Management</subfield><subfield code="0">(DE-588)4673954-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="1"><subfield code="a">Dynamische Web-Seite</subfield><subfield code="0">(DE-588)4481830-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="2"><subfield code="a">Cascading Style Sheets</subfield><subfield code="0">(DE-588)4467617-7</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="2" ind2="0"><subfield code="a">Content Management</subfield><subfield code="0">(DE-588)4673954-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="2" ind2="1"><subfield code="a">Dynamische Web-Seite</subfield><subfield code="0">(DE-588)4481830-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="2" ind2="2"><subfield code="a">XHTML</subfield><subfield code="0">(DE-588)4600114-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="2" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="3" ind2="0"><subfield code="a">Content Management</subfield><subfield code="0">(DE-588)4673954-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="3" ind2="1"><subfield code="a">Dynamische Web-Seite</subfield><subfield code="0">(DE-588)4481830-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="3" ind2="2"><subfield code="a">JavaScript</subfield><subfield code="0">(DE-588)4420180-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="3" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="4" ind2="0"><subfield code="a">Content Management</subfield><subfield code="0">(DE-588)4673954-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="4" ind2="1"><subfield code="a">Dynamische Web-Seite</subfield><subfield code="0">(DE-588)4481830-0</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="4" ind2="2"><subfield code="a">Eclipse</subfield><subfield code="g">Programmierumgebung</subfield><subfield code="0">(DE-588)4768065-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="4" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Bamberg</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016319308&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-016319308</subfield></datafield></record></collection> |
id | DE-604.BV023116795 |
illustrated | Illustrated |
index_date | 2024-07-02T19:50:17Z |
indexdate | 2024-10-21T08:01:36Z |
institution | BVB |
isbn | 9783826617829 |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-016319308 |
oclc_num | 643277417 |
open_access_boolean | |
owner | DE-M347 DE-473 DE-BY-UBG DE-898 DE-BY-UBR DE-1047 DE-859 DE-91G DE-BY-TUM DE-83 DE-12 DE-29T DE-29 DE-824 DE-1049 |
owner_facet | DE-M347 DE-473 DE-BY-UBG DE-898 DE-BY-UBR DE-1047 DE-859 DE-91G DE-BY-TUM DE-83 DE-12 DE-29T DE-29 DE-824 DE-1049 |
physical | 744 S. Ill. 1 CD-ROM (12 cm) |
publishDate | 2009 |
publishDateSearch | 2009 |
publishDateSort | 2009 |
publisher | mitp-Verl. |
record_format | marc |
spelling | Rieber, Philipp Verfasser aut Dynamische Webseiten in der Praxis mit PHP 5, MySQL 5, XHTML, CSS, JavaScript und Ajax Philipp Rieber 2. aktualisierte Aufl. Bonn mitp-Verl. 2009 744 S. Ill. 1 CD-ROM (12 cm) txt rdacontent n rdamedia nc rdacarrier JavaScript (DE-588)4420180-1 gnd rswk-swf XHTML (DE-588)4600114-1 gnd rswk-swf Eclipse Programmierumgebung (DE-588)4768065-9 gnd rswk-swf Dynamische Web-Seite (DE-588)4481830-0 gnd rswk-swf Content Management (DE-588)4673954-3 gnd rswk-swf PHP 5.0 (DE-588)4763174-0 gnd rswk-swf Cascading Style Sheets (DE-588)4467617-7 gnd rswk-swf MySQL (DE-588)4559381-4 gnd rswk-swf Content Management (DE-588)4673954-3 s Dynamische Web-Seite (DE-588)4481830-0 s MySQL (DE-588)4559381-4 s PHP 5.0 (DE-588)4763174-0 s DE-604 Cascading Style Sheets (DE-588)4467617-7 s XHTML (DE-588)4600114-1 s JavaScript (DE-588)4420180-1 s Eclipse Programmierumgebung (DE-588)4768065-9 s Digitalisierung UB Bamberg application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016319308&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Rieber, Philipp Dynamische Webseiten in der Praxis mit PHP 5, MySQL 5, XHTML, CSS, JavaScript und Ajax JavaScript (DE-588)4420180-1 gnd XHTML (DE-588)4600114-1 gnd Eclipse Programmierumgebung (DE-588)4768065-9 gnd Dynamische Web-Seite (DE-588)4481830-0 gnd Content Management (DE-588)4673954-3 gnd PHP 5.0 (DE-588)4763174-0 gnd Cascading Style Sheets (DE-588)4467617-7 gnd MySQL (DE-588)4559381-4 gnd |
subject_GND | (DE-588)4420180-1 (DE-588)4600114-1 (DE-588)4768065-9 (DE-588)4481830-0 (DE-588)4673954-3 (DE-588)4763174-0 (DE-588)4467617-7 (DE-588)4559381-4 |
title | Dynamische Webseiten in der Praxis mit PHP 5, MySQL 5, XHTML, CSS, JavaScript und Ajax |
title_auth | Dynamische Webseiten in der Praxis mit PHP 5, MySQL 5, XHTML, CSS, JavaScript und Ajax |
title_exact_search | Dynamische Webseiten in der Praxis mit PHP 5, MySQL 5, XHTML, CSS, JavaScript und Ajax |
title_exact_search_txtP | Dynamische Webseiten in der Praxis mit PHP 5, MySQL 5, XHTML, CSS, JavaScript und Ajax |
title_full | Dynamische Webseiten in der Praxis mit PHP 5, MySQL 5, XHTML, CSS, JavaScript und Ajax Philipp Rieber |
title_fullStr | Dynamische Webseiten in der Praxis mit PHP 5, MySQL 5, XHTML, CSS, JavaScript und Ajax Philipp Rieber |
title_full_unstemmed | Dynamische Webseiten in der Praxis mit PHP 5, MySQL 5, XHTML, CSS, JavaScript und Ajax Philipp Rieber |
title_short | Dynamische Webseiten in der Praxis |
title_sort | dynamische webseiten in der praxis mit php 5 mysql 5 xhtml css javascript und ajax |
title_sub | mit PHP 5, MySQL 5, XHTML, CSS, JavaScript und Ajax |
topic | JavaScript (DE-588)4420180-1 gnd XHTML (DE-588)4600114-1 gnd Eclipse Programmierumgebung (DE-588)4768065-9 gnd Dynamische Web-Seite (DE-588)4481830-0 gnd Content Management (DE-588)4673954-3 gnd PHP 5.0 (DE-588)4763174-0 gnd Cascading Style Sheets (DE-588)4467617-7 gnd MySQL (DE-588)4559381-4 gnd |
topic_facet | JavaScript XHTML Eclipse Programmierumgebung Dynamische Web-Seite Content Management PHP 5.0 Cascading Style Sheets MySQL |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016319308&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT rieberphilipp dynamischewebseiteninderpraxismitphp5mysql5xhtmlcssjavascriptundajax |