Einleitung, Themenüberblick und Buchaufbau - mitp

Werbung
Einleitung, Themenüberblick
und Buchaufbau
Liebe Leserin, lieber Leser,
Webseiten üben eine starke Faszination auf Sie aus? Sie wollen nicht nur Betrachter und Nutzer von bestehenden Angeboten sein, sondern die Funktionsweisen und Hintergründe kennen lernen, mit deren Hilfe
Sie Ihre eigenen Inhalte professionell präsentieren und Internetanwendungen erstellen können? Es ist nicht
Ihr Ziel, vorgefertigte Lösungen einzusetzen, sondern selbst individuelle Projekte zu planen und umzusetzen? Sie begeistern sich besonders für Webseiten, die ihre Inhalte dynamisch und mit Hilfe einer Datenbank erzeugen? Vielleicht betreiben Sie bereits Ihre eigene Webseite oder einen Server und haben Erfahrungen auf verschiedenen Gebieten gesammelt? Sie interessieren sich für Content Management? Sie wollen
dabei kostenlose und frei verfügbare Technologien einsetzen? Kurz gesagt, Sie sind auf der Suche nach
Informationen, um sich Wissen zur Erstellung eigener Webseiten anzueignen oder Ihr bestehendes Wissen
zu vertiefen? Dann haben Sie das richtige Buch aufgeschlagen.
Dieses Buch befasst sich mit der Erstellung von dynamischen Webseiten, die ausschließlich auf frei verfügbaren Technologien und Standards basieren. Themen sind die klassischen Websprachen XHTML, CSS
und JavaScript, die AJAX-Technologie, die Open-Source-Produkte PHP, MySQL und phpMyAdmin
sowie ein detailliertes und sehr umfangreiches Beispiel eines Content-Management-Systems (CMS). Daneben spielen der Apache-Webserver und der Mailserver Postfix, beide ebenfalls Open-Source, eine Rolle.
Das Buch wendet sich an Einsteiger und Fortgeschrittene auf den genannten Gebieten. Einsteiger sollten
Erfahrungen mit dem Internet im Allgemeinen und Begeisterungsfähigkeit für komplexe Aufgaben mitbringen. Fortgeschrittene Anwender können ihr Wissen ausbauen und professionelle Techniken erlernen.
Alle benötigten Werkzeuge finden Sie auf der beiliegenden CD-ROM oder können aus dem Internet heruntergeladen werden. Dieses Buch beschäftigt sich nicht mit detaillierten Referenzen und theoretischen
Fragestellungen, sondern bietet eine praxis- und beispielorientierte Einführung und Vertiefung in die Webprogrammierung und das Content Management.
E.1 Die Themen des Buchs im Überblick
Sicherlich sind Sie an einem raschen Themenüberblick interessiert, um zu erfahren, was Ihnen dieses
Buch genau bietet und ob es Ihren Interessen entspricht. Deshalb gibt dieser Abschnitt eine stichpunktartige Übersicht über alle behandelten Themengebiete. Details können Sie der ausführlichen Kapitelübersicht des nächsten Abschnitts entnehmen.
17
© des Titels »Dynamische Webseiten in der Praxis« (ISBN 978-3-8266-1782-9) 2009 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg
Nähere Informationen unter: http://www.it-fachportal.de/1782
Einleitung, Themenüberblick und Buchaufbau
❏ Ausführliche Anleitung zum Aufsetzen einer Entwicklungsumgebung mit dem Apache-Webserver 2,
dem Datenbankprogramm MySQL 5 und der Skriptsprache PHP 5 für Windows und Linux (bekannt
als WAMP bzw. LAMP)
❏ Einführung in die folgenden Themengebiete in Form eines Crashkurses mit vielen Beispielen und
Screenshots:
❏ Die Auszeichnungssprache XHTML: Was ist XHTML und HTML, Unterschiede zu HTML,
wichtige Begriffe, Notationen, wichtige Elemente, Zeichenreferenzen (Entitäten)
❏ Die Stylesheetsprache CSS: Was sind CSS, Eigenschaften und Werte, Einbindung von CSS-Code,
Selektoren, Pseudoklassen und -elemente, Vererbung, Größen- und Farbangaben, Box-Model,
Tantek’s Hack, Positionierung, wichtige Eigenschaften
❏ Die clientseitige Skriptsprache JavaScript: Entstehung, Clientseitigkeit, Einbindung von JavaScriptCode, Eventhandler, Variablen, Objekte, Operatoren, Kontrollstrukturen, Arrays, Built-in- und benutzerdefinierte Funktionen bzw. Methoden, wichtige Objekte, Mouse-Over-Effekt, Bilder vorladen, Formulare prüfen, Dialog- und Popup-Fenster, Beispiel eines JavaScript-Spiels
❏ Die serverseitige Skriptsprache PHP: Was ist PHP, Geschichte, Serverseitigkeit, »Hallo Welt!«,
Variablen und Datentypen, Operatoren, Konstanten, Kontrollstrukturen, Built-in- und benutzerdefinierte Funktionen, rekursive Funktionen, Datum und Zeit, Zeichenkettenfunktionen, Arrayfunktionen, reguläre Ausdrücke (PCREs), Formulare auswerten, Session, Cookies, Dateien, objektorientierte Programmierung unter PHP 5, auf einfache Weise E-Mails versenden mit der freien
swiftmailer-Bibliothek, Beispiel eines Besucherzählers ohne Datenbank
❏ Das relationale Datenbanksystem MySQL und dessen Abfragesprache SQL: Was ist MySQL,
Konsole, Beispielprojekt Filmdatenbank, Datenbankdesign und Normalisierungsregeln, Kollation,
Datenbanken und Tabellen anlegen/löschen, Tabellentypen, Spaltentypen, Spaltenattribute, Primär- und Fremdschlüssel, Indizes, wichtige Abfrage-Kommandos und Klauseln, hierarchische Tabellen, Variablen, Transaktionen, Views und information_schema-Datenbank (MySQL 5)
❏ Die in PHP 5 eingeführte mysqli-Bibliothek zur Abfrage von MySQL-Datenbanken: objektorientierter Zugriff, Verbindung aufnehmen, Verbindungsinformationen abfragen, einzelne SQLKommandos ausführen, mehrere SQL-Kommandos gleichzeitig ausführen, Ergebnisressourcen
verarbeiten, Metadaten, Prepared Statements
❏ Die AJAX-Technologie: Was ist AJAX, Notwendigkeit und Nutzen, beteiligte Technologien und
deren Verknüpfung, Erstellung einer allgemein verwendbaren AJAX-Engine, JSON und dessen
Zusammenspiel mit AJAX, Beispiele für einen Echtzeit-Chat und eine Echtzeit-Navigation
❏ Detaillierte Beschreibung des Aufbaus eines Content-Management-Systems (im Buch meist als »Das
Projekt« bezeichnet), das Ihnen zur freien Verfügung steht (eine Testversion finden Sie unter http://
www.webflips.de) und für Ihren eigenen Gebrauch viele interessante Codebausteine bietet. Das
Projekt implementiert unter anderem folgende Features, die ausführlich Schritt für Schritt erläutert
werden:
❏ Valide XHTML-Struktur
❏ CSS-Design ohne Tabellen
❏ Wrapperklassen für die mysqli-Bibliothek
❏ Administrationsoberfläche zum Installieren der nötigen MySQL-Tabellen sowie zum Erstellen,
Verschieben und Löschen von Menüpunkten, Farbthemen und Modulen
❏ Login-System mit automatischem Login
❏ Module: Wer ist online, aktuelle Beiträge, Shoutbox, Besucherzähler, externe Links, Quick-Links,
Login
❏ Anwendungen: Profilseite, Mitgliederverzeichnis, Mitgliederverwaltung für Administratoren,
Newsletterversand, Forum, Gästebuch, Umfragen, Downloads, AJAX-Fotoalben, Berichte, AJAXKommentarfunktion für beliebige Anwendungen
❏ Neue Passwörter auf Anforderung automatisch generieren und versenden, falls ein Mitglied sein
Passwort vergessen hat
❏ Detaillierte Besucherstatistik
18
© des Titels »Dynamische Webseiten in der Praxis« (ISBN 978-3-8266-1782-9) 2009 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg
Nähere Informationen unter: http://www.it-fachportal.de/1782
Einleitung, Themenüberblick und Buchaufbau
❏ Favicon erstellen und einbinden
❏ Im Projekt wird unter anderem von folgenden Techniken Gebrauch gemacht:
❏ CSS-Design ohne Tabellen erstellen
❏ Objektorientierte Programmierung mit PHP 5
❏ Rekursive Methoden
❏ Statische Methoden
❏ Reguläre Ausdrücke
❏ Bilder mit TrueType-Schriften dynamisch generieren
❏ Formulareingaben eingehend prüfen
❏ Upload und Prüfung von Dateien
❏ Bilder verkleinern und handhaben
❏ Mailen pur: Header setzen und die mail()-Funktion
❏ (HTML-)E-Mails mit Dateianhang versenden
❏ Cookies
❏ Session mit und ohne Cookies
❏ Verknüpfte Abfragen ( Joins) mit MySQL
❏ Temporäre Tabellen mit MySQL
❏ Transaktionen mit MySQL
❏ Sub-Selects mit MySQL
❏ Einbindung eines Java-Applets zum Upload mehrerer Dateien gleichzeitig (JUpload)
❏ bbCode (Formatierungssprache für Formulareingaben)
❏ Spamschutz durch Session-Sperre und visuelle CAPTCHAs
❏ Mouse-Over-Effekt mit CSS und Bilder vorladen mit JavaScript
❏ Inhalte mittels AJAX performant nachladen
❏ Lookup Table für den Mailserver Postfix in MySQL abbilden (für E-Mail-Weiterleitungen)
❏ Installation und Konfiguration des plattformunabhängigen MySQL-Verwaltungswerkzeugs phpMyAdmin sowie Umgang mit diesem Programm
❏ .htaccess-Verzeichnisschutz einrichten
❏ Kurze Einführung in den Linux-Mailserver Postfix und dessen Kompilierung mit MySQL-Unterstützung
❏ Ausführliches Linkverzeichnis rund um das Thema Webprogrammierung
❏ Buch-CD mit allen im Buch beschriebenen Programmen und dem Quellcode des Projekts
Außerdem finden Sie unter der Internet-Adresse http://www.webflips.de eine Diskussions- und
Informationsplattform zum Buch, die gleichzeitig eine Testversion des im Buch beschriebenen Projekts
darstellt.
Wenn Sie jetzt neugierig geworden sind, erhalten Sie im nächsten Abschnitt detaillierte Informationen zu
den Inhalten der einzelnen Kapitel.
E.2 Der Aufbau des Buchs
Dieser Abschnitt stellt Ihnen den Aufbau des Buchs vor. Das Buch besteht aus drei Teilen:
❏ Das Projekt: Fortgeschrittene Leser können mit diesem Teil gleich in das komplexe Content-Management-System einsteigen.
❏ Crashkurs: Dieser Teil gibt eine Einführung in alle Themengebiete des Buchs. Einsteiger sollten mit
diesem Teil beginnen, fortgeschrittene Leser können damit ihr Wissen vertiefen oder auffrischen.
19
© des Titels »Dynamische Webseiten in der Praxis« (ISBN 978-3-8266-1782-9) 2009 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg
Nähere Informationen unter: http://www.it-fachportal.de/1782
Einleitung, Themenüberblick und Buchaufbau
❏ Installationen: Dieser Teil bietet Installationsbeschreibungen zu allen wichtigen Programmen und
Konfigurationsanleitungen.
Wenn Sie sich über Ihren Wissensstand nicht sicher sind, schnuppern Sie einfach mal in den ersten Buchteil hinein. Bei Verständnisschwierigkeiten können Sie im Crashkurs nachschlagen.
Erster Buchteil: Das Projekt
Dieser Buchteil stellt Ihnen detailliert die Erstellung eines umfangreichen Content-Management-Systems
vor, das auf objektorientierter Programmierung basiert. Dabei werden die Websprachen PHP, XHTML,
CSS und JavaScript sowie das Datenbanksystem MySQL und dessen Abfragesprache SQL verwendet.
Eine Testversion des Projekts steht Ihnen mit eingeschränkten Rechten im Internet unter http://
www.webflips.de zur Verfügung. Dort können Sie die meisten Features jederzeit ausprobieren und den
Aufbau der Seite studieren. Die Website dient gleichzeitig als Informations- und Diskussionsplattform zu
diesem Buch, wo Sie sich mit mir und anderen Lesern austauschen oder auch Ihre eigenen Projekt-Erweiterungen und Vorschläge einbringen können.
Kapitel 1: Einführung in das Projekt
In diesem Kapitel werden Sie in die Features, die verwendeten Begriffe, die technische Umsetzung und
die möglichen Verwendungszwecke des Projekts eingeführt.
Kapitel 2: Installation der Projekt-Website
Dieses Kapitel zeigt Ihnen, wie Sie die fertige, frei nutz- und konfigurierbare Projekt-Website aufsetzen
und damit erste Schritte wie die Erstellung von Menüpunkten und die Einbindung von Modulen unternehmen können. Auf diese Weise können Sie sich zuerst mit dem fertigen System vertraut machen und
alle Funktionen ausprobieren, um dann im Detail die Umsetzung kennen zu lernen.
Kapitel 3: Konzeption
Dieses Kapitel erläutert Ihnen die Konzeption der Website, die verwendeten Konventionen, die physische
Verzeichnisstruktur, die XHTML-Struktur, die Klassenhierarchie, die MySQL-Tabellen und die Menüauflösung. Sie erlernen den Aufbau hierarchischer MySQL-Tabellen und die Verwendung von Primär- und
Fremdschlüsseln. Außerdem erfahren Sie Grundlegendes über die Schreibrechte des Apache-Webservers.
Kapitel 4: Die Konfigurationsdatei konf.ink.php
Sie lernen die Konfigurationsdatei mit vielen globalen Konstanten kennen, mit deren Werten sich grundlegende Dinge wie die Zugangsdaten zur Datenbank, Pfade, die Spamschutz-Sperrzeiten, das Fehlerhandling und die Serverdaten anpassen lassen.
Kapitel 5: Der MySQL-Wrapper
In diesem Kapitel stelle ich Ihnen zwei Klassen vor, die die Verwendung der in PHP 5 eingeführten
mysqli-Bibliothek isolieren (»kapseln«). Dadurch wird eine einfache Schnittstelle zur MySQL-Datenbank und damit die Voraussetzung für alle Datenbankabfragen des Projekts geschaffen (eine solche
»Ummantelung« wird auch Wrapper genannt). Der MySQL-Wrapper ist Voraussetzung für alle Datenbankabfragen des Projekts. Technisch erlernen Sie den Einsatz objektorientierter Programmierung und
der mysqli-Bibliothek.
Kapitel 6: Die Administrationsoberfläche
Dieses Kapitel beschäftigt sich mit dem Aufbau der Administrationsoberfläche (»Backend«) für die Projekt-Website. Mit der Administrationsoberfläche lassen sich auf einfache Weise die nötigen MySQL-Tabellen für die verschiedenen Anwendungen installieren oder auch wieder deinstallieren sowie Menüpunkte,
20
© des Titels »Dynamische Webseiten in der Praxis« (ISBN 978-3-8266-1782-9) 2009 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg
Nähere Informationen unter: http://www.it-fachportal.de/1782
Einleitung, Themenüberblick und Buchaufbau
Farbthemen und Module beliebig erstellen, verschieben und löschen. Technisch ist dieses Kapitel ein Vorbote für das kommende CSS-Design und zeigt außerdem weitere Möglichkeiten der objektorientierten
Programmierung unter PHP 5.
Kapitel 7: Die Hauptseite
Aufbau der Hauptseite (»Frontend«) mit Logo, Navigation, einer Hauptfläche für statische oder dynamische Inhalte und einer Navigation für seiteninterne Inhalte (Statistik, Impressum etc.) am Ende. Dies alles
erfolgt mit einem modernen XHTML/CSS-Design und Sie lernen, die Struktur einer Website klar vom
Design zu trennen. Außerdem erweitern Sie Ihr Wissen über die objektorientierte Programmierung, lernen die Funktionsweise eines Interface kennen und sind nach diesem Kapitel imstande, dynamische Bilder zu erzeugen.
Kapitel 8: Der Registrierungsprozess
Hier wird der Registrierungsprozess für Besucher behandelt, die von weitreichenderen Features der Website Gebrauch machen wollen. Dabei wird erklärt, wie Sie den im Web beliebten Registrierungsvorgang
mittels einer Aktivierungs-E-Mail (»double-opt-in«) verwirklichen können. An dieser Stelle taucht die erste
MySQL-Transaktion – ein Block von Datenbankabfragen, der entweder komplett oder gar nicht ausgeführt wird – auf, mit der sich die Datenbestände konsistent halten lassen und von denen noch viele weitere
folgen werden. Sie lernen die Funktionsweise des Spamschutzes (Session-Sperre) kennen, die Superklasse
für Formularüberprüfungen und die Generierung von dynamischen TrueType-Überschriften.
Kapitel 9: Der Login und Logout
In diesem Kapitel wird der Mitglieder-Login implementiert. Dazu zählt ein Modul für das Login-Formular
und eine Klasse, die bei jedem Seitenaufruf die möglichen Quellen für Logindaten prüft und für den weiteren Verlauf des Skripts den Benutzerstatus festlegt (Gast, Mitglied, Administrator). Neben einem normalen Login gibt es bei Benutzung des gleichen Computers einen automatischen Login, der mit Hilfe eines
Cookies realisiert wird, und einen Super-Login, bei dem sich ein Administrator an Stelle eines Mitglieds
einloggen kann, um etwaige Probleme zu beheben. Technisch zeigt Ihnen dieses Kapitel die Verwendung
des Session-Managements und von Cookies.
Kapitel 10: Weitere Module
In diesem Kapitel werden weitere Module der Website implementiert. Es gibt ein Modul für die Anzeige
aller Gäste bzw. Mitglieder, die gerade online sind, ein Besucherzähler-Modul, ein Modul, das aktuelle
Aktivitäten (Forumsbeiträge, Fotouploads etc.) auf der Seite sofort anzeigt, ein Quick-Links-Modul für die
schnelle Navigation innerhalb der Seite, ein Modul mit externen Links und ein Shoutbox-Modul, in dem
jeder Besucher Kommentare abgeben kann, die sofort für alle lesbar sind.
Kapitel 11: Die Profilseite
Dieses Kapitel beschreibt die Umsetzung einer Profilseite für Mitglieder, auf der persönliche Informationen (Name, Geburtstag, Forumssignatur, Avatar etc.) abgespeichert und Einstellungen (Newsletterabo,
Profilsichtbarkeit, E-Mail-Weiterleitung etc.) vorgenommen werden können. Neben weiteren Formularüberprüfungen lernen Sie am Beispiel des Avatars den Upload, die Überprüfung und die Verkleinerung
von Bilddateien kennen. Außerdem erfahren Sie, wie die Umsetzung der Lookup Table für den Mailserver Postfix funktioniert, mit deren Hilfe jedes Mitglied eine neue E-Mail-Adresse mit Weiterleitung
erhalten kann.
Kapitel 12: Der Mitgliederbereich
Sie lernen das Mitgliederverzeichnis, die Profilansicht, die Mitgliederverwaltung, die Verwaltung der
Links-Module und den Newsletterversand kennen. Dabei kommen komplexere SQL-Sortierungen und
die Verwendung der mail()-Funktion mit selbst erzeugten Headern zum Einsatz.
21
© des Titels »Dynamische Webseiten in der Praxis« (ISBN 978-3-8266-1782-9) 2009 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg
Nähere Informationen unter: http://www.it-fachportal.de/1782
Einleitung, Themenüberblick und Buchaufbau
Kapitel 13: Der Interaktiv-Bereich
Thema dieses Kapitels sind die dynamischen Anwendungen Gästebuch, Forum und Umfragen. Es werden
komplexe MySQL-Abfragen über mehrere Tabellen ( Joins), eine temporäre MySQL-Tabelle, Überprüfungen der Mitgliederrechte und der Spamschutz per CAPTCHA behandelt.
Kapitel 14: Der Galerie-Bereich
Dieses Kapitel beschreibt die Anwendungen Berichte, Fotos und Downloads. Dabei lernen Sie unter anderem die Einbindung und die Verwendung eines Java-Applets (JUpload) sowie die Erzeugung eines Fotoalbums in Form einer AJAX-Bildergalerie kennen.
Kapitel 15: Spielereien
Zum Abschluss des Projekts wird Ihnen in diesem Kapitel ein Skript für die automatische Generierung
und den Versand eines neuen Passworts vorgestellt, falls ein Mitglied sein Zugangspasswort vergessen hat.
Außerdem lernen Sie die Erzeugung der Besucherstatistik mit Hilfe einer komplexen MySQL-Abfrage
sowie die AJAX-Kommentarfunktion für beliebige Anwendungen kennen.
Kapitel 16: Zum Schluss
In diesem letzten Kapitel des ersten Buchteils habe ich einige Ideen und Anregungen für den Ausbau des
Projekts zusammengestellt.
Neben den beschriebenen Features stehen Ihnen mit dem ausführlich kommentierten Projekt-Quellcode
der Buch-CD noch ein Newssystem und ein Kontaktformular zur Verfügung.
Zweiter Buchteil: Crashkurs
Als Einsteiger sollten Sie mit dem Crashkurs im zweiten Buchteil beginnen. Der Crashkurs macht Sie mit
den für den ersten Buchteil benötigten Werkzeugen vertraut und bietet darüber hinaus einige nützliche
Einblicke, auch für fortgeschrittene Leser.
Kapitel 17: Einführung in den Crashkurs
Dieses Kapitel stellt Ihnen kurz die Themen des Crashkurses vor.
Kapitel 18: XHTML – Extensible Hypertext Markup Language
Thema dieses Kapitels ist die Auszeichnungssprache XHTML, die Grundlage einer jeden Website. Nach
einer kurzen Einführung stelle ich Ihnen das W3-Konsortium, die wichtigsten Begriffe sowie die Unterschiede zu HTML und die damit verbundenen Notationsregeln für gültige XHTML-Dokumente vor.
Anschließend lernen Sie die wichtigsten Elemente kennen, zum Beispiel zur Textauszeichnung und zur
Erzeugung von Hyperlinks, Listen, Tabellen und Formularen. Zum Schluss folgt ein Abschnitt über Zeichenreferenzen.
Kapitel 19: CSS – Cascading Style Sheets
Dieses Kapitel stellt Ihnen die Stylesheetsprache CSS vor. Eine kurze Einführung beschreibt den Verwendungszweck von CSS. Dann folgen Abschnitte über die verschiedenen Möglichkeiten der Code-Einbindung, die unterschiedlichen Selektoren, Größen- und Farbangaben, die Vererbung, das Box-Model und
die verschiedenen Arten zur Elementpositionierung. Über das ganze Kapitel hinweg lernen Sie die wichtigsten CSS-Eigenschaften und ihre möglichen Werte kennen.
Kapitel 20: JavaScript
Dieses Kapitel stellt Ihnen die clientseitige Skriptsprache JavaScript vor. Zu Beginn gibt es einen kurzen
Überblick über die Entstehung von JavaScript sowie die Vor- und Nachteile der Clientseitigkeit. Im
Anschluss lernen Sie die verschiedenen Möglichkeiten der Code-Einbindung und die wichtigsten Grund-
22
© des Titels »Dynamische Webseiten in der Praxis« (ISBN 978-3-8266-1782-9) 2009 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg
Nähere Informationen unter: http://www.it-fachportal.de/1782
Einleitung, Themenüberblick und Buchaufbau
lagen von JavaScript kennen. Dabei werden unter anderem folgende Themen behandelt: Eventhandler,
Variablen, Datentypen, Objekte, Verkettungsoperator, arithmetische und kombinierte Operatoren, logische und Vergleichsoperatoren, Bedingungen, Schleifen, Funktionen, Datums- und Zeitberechnungen,
Zugriff auf Grafiken, Formularüberprüfungen sowie Dialog- und Popup-Fenster. Abgerundet wird das
Kapitel durch eine kurze Einführung in die JavaScript Object Notation ( JSON) und ein Praxisbeispiel in
Form eines kleinen Spiels.
Kapitel 21: PHP – PHP Hypertext Preprocessor
Nach einem kurzen Abriss über die Geschichte folgt der Einstieg in die Programmierung mit der serverseitigen Skriptsprache PHP. Sie schreiben Ihr erstes Skript und werden in die wichtigsten Grundlagen eingeführt: Datentypen, Variablen, Arrays, arithmethische und kombinierte Operatoren, logische und Vergleichsoperatoren, trinärer Operator, Ausdrücke, Bedingungen, Schleifen, globale Konstanten, Datumsund Zeitberechnungen, Zeichenkettenfunktionen, Arrayfunktionen, benutzerdefinierte Funktionen, Prozeduren, reguläre Ausdrücke, Formularauswertung, Cookies setzen und auslesen, Session-Management,
Dateien einbinden, Dateien auslesen und schreiben, objektorientierte Programmierung, Klassen, Methoden, Eigenschaften, Vererbung, Sichtbarkeit (PPP) und Spezialmethoden. Im Anschluss erlernen Sie den
Umgang mit der sehr nützlichen Open-Source-Bibliothek swiftmailer, die Ihnen den E-Mail-Versand stark
erleichtert, sogar unter Windows ohne Mailserver. Abgerundet wird das Kapitel durch ein Praxisbeispiel
in Form eines Besucherzählers ohne Datenbankanbindung.
Kapitel 22: MySQL – My Structured Query Language
In diesem Kapitel stelle ich Ihnen das relationale Datenbanksystem MySQL und dessen Abfragesprache
SQL vor. Dabei lernen Sie anhand eines Praxisbeispiels – einer Filmdatenbank –, wie Sie das relationale
Prinzip ausnutzen, Redundanzen vermeiden und die so genannten Normalisierungsregeln anwenden. Sie
erfahren das Wichtigste über Primär- und Fremdschlüssel, Tabellen- und Spaltentypen, Spaltenattribute,
hierarchische Tabellen und Indizes zur Steigerung der Abfragegeschwindigkeit. Weitere Abschnitte befassen sich mit dem Abfragen, Einfügen, Aktualisieren und Löschen von Datensätzen und gehen dabei auch
auf die verschiedenen Einschränkungs- und Sortierungsklauseln ein. Anschließend lernen Sie den
Umgang mit Datum und Zeit in der Datenbank, den Nutzen und die Ausführung von Transaktionen und
die MySQL-5-Features Views und information_schema-Datenbank kennen.
Kapitel 23: PHP und MySQL – mysqli
Dieses Kapitel stellt Ihnen den objektorientierten Zugriff auf MySQL-Datenbanken mit der in PHP 5 eingeführten mysqli-Bibliothek vor. Dabei lernen Sie zunächst, Verbindung zur Datenbank aufzunehmen
und Verbindungsinformationen abzufragen. Im Anschluss wird die Ausführung von einzelnen oder mehreren SQL-Kommandos behandelt sowie die Auswertung von Ergebnisressourcen (Datensätze, Metainformationen). Der letzte Abschnitt widmet sich den Prepared Statements, mit denen sich gleichartige Abfragen mit unterschiedlichen Parametern effektiv ausführen lassen und die zur Kompaktheit des Quellcodes
beitragen.
Kapitel 24: Umgang mit phpMyAdmin
Dieses Kapitel gibt eine Einführung in den Umgang mit dem MySQL-Verwaltungswerkzeug phpMyAdmin. Sie lernen, Datenbankbenutzer anzulegen und mit den passenden Rechten auszustatten. Im
Anschluss wird gezeigt, wie Sie Datenbanken, Tabellen und Datensätze anlegen/löschen können und was
es mit den verschiedenen Menüpunkten und den zugehörigen Optionen auf sich hat. Zum Schluss erfahren Sie, wie Sie Backups erstellen und wieder einspielen können, wobei auch eine Alternative zu phpMyAdmin vorgestellt wird. Die Installation und Konfiguration von phpMyAdmin ist Thema des Kapitels 27
im dritten Buchteil (Installationen).
Kapitel 25: AJAX – Asynchronous JavaScript and XML
In diesem Kapitel lernen Sie den Umgang mit der AJAX-Technologie kennen. AJAX-Anfragen ermöglichen Client-Anfragen an den Webserver ohne Neuladen der Website.
23
© des Titels »Dynamische Webseiten in der Praxis« (ISBN 978-3-8266-1782-9) 2009 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg
Nähere Informationen unter: http://www.it-fachportal.de/1782
Einleitung, Themenüberblick und Buchaufbau
Dritter Buchteil: Installationen
Im dritten Buchteil finden Sie eine Zusammenstellung von Anleitungen für die wichtigsten Installationen
bzw. Konfigurationen, die für die Webprogrammierung nützlich sind. Dieser Teil ist für Einsteiger und
Fortgeschrittene gleichermaßen interessant. Sie können sich dort informieren, sobald Sie eine der
beschriebenen Installationen bzw. Konfigurationen benötigen. Nebenbei bietet dieser Buchteil Hintergrundwissen zu den einzelnen Themen.
Kapitel 26: Einrichtung einer Entwicklungsumgebung
Dieses Kapitel beschreibt ausführlich die Einrichtung einer (lokalen) Entwicklungsumgebung mit dem
Webserver Apache 2, der Datenbank MySQL 5 und der Skriptsprache PHP 5 unter Windows und Linux
(WAMP bzw. LAMP). Die Entwicklungsumgebung ist für die Erprobung von XHTML-Dateien, PHPSkripten und Datenbankoperationen unerlässlich. Sie erfahren, wo Sie die nötigen Programme aus dem
Internet beziehen können, wie Sie die Installation bzw. Kompilierung (Linux) und die richtige Konfiguration durchführen. Dabei werden auch die wichtigsten Einstellungen in den Konfigurationsdateien des
Apache und der PHP-Installation erläutert.
Kapitel 27: phpMyAdmin – Installation und Konfiguration
In diesem Kapitel erfahren Sie, was phpMyAdmin ist, wo Sie es beziehen können und wie Sie das plattformunabhängige Programm richtig installieren und konfigurieren. Dabei werden die wichtigsten Konfigurationsparameter vorgestellt, zum Beispiel die verschiedenen Authentifizierungsmöglichkeiten oder die
Einstellung zur Verwendung der mysqli-Bibliothek. Zum Schluss lernen Sie, die Unterstützung für Mehrbyte-Zeichensätze (mbstring-Erweiterung) zu aktivieren, um eine Fehlermeldung zu vermeiden, und wie
Sie verschiedene Farbthemen zur Personalisierung der Oberfläche installieren können. Den Umgang mit
phpMyAdmin beschreibt Kapitel 24.
Kapitel 28: HTTP-Verzeichnisschutz über die Datei .htaccess
Dieses Kapitel beschreibt, was ein Verzeichnisschutz ist, und wie Sie ihn auf dem Apache-Webserver mit
Hilfe einer .htaccess-Datei (Windows und Linux) einrichten können. Dabei erfahren Sie, wie Sie den
Apache vorbereiten müssen, damit .htaccess-Dateien berücksichtigt werden, wie Sie eine Passwortdatei
erzeugen und was es mit den verschiedenen Konfigurationsparametern auf sich hat.
Kapitel 29: Postfix mit MySQL-Unterstützung
Dieses Kapitel gibt eine Kurzeinführung in den Linux-Mailserver Postfix, erläutert die Grundlagen und
beleuchtet schließlich die Lookup Table (eine Art Konfigurationstabelle) für E-Mail-Weiterleitungen wie
die des Projekts aus dem ersten Buchteil. Im Anschluss lernen Sie, wie Sie Postfix mit MySQL-Unterstützung selbst kompilieren und die Lookup Table für E-Mail-Weiterleitungen in einer Datenbank abbilden.
Auf diese Weise können Sie auf Ihrem eigenen Server bequem per PHP beliebige E-Mail-Adressen für
Ihre Domain(s) verwalten und Weiterleitungen einrichten.
Kapitel 30: Browser
Das letzte Kapitel listet in aller Kürze die wichtigsten Browser, mit denen auch das Projekt aus dem ersten
Buchteil erfolgreich getestet wurde. Sie finden zudem Informationen über Möglichkeiten, wie Sie auch
unter älteren Versionen des Internet Explorer ohne großen Aufwand testen können.
Zum Schluss
Am Ende des Buchs finden Sie ein umfangreiches Verzeichnis mit nützlichen Links rund um das Thema
Webprogrammierung und einen ausführlichen Suchindex.
24
© des Titels »Dynamische Webseiten in der Praxis« (ISBN 978-3-8266-1782-9) 2009 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg
Nähere Informationen unter: http://www.it-fachportal.de/1782
Einleitung, Themenüberblick und Buchaufbau
E.3 Die Buch-CD
Diesem Buch liegt eine CD-ROM bei. Sie bietet Folgendes in den gleichnamigen Verzeichnissen:
❏ Projekt: In diesem Verzeichnis finden Sie den kompletten und ausführlich kommentierten Quellcode
des Projekts aus dem ersten Buchteil. So können Sie das Projekt mit uneingeschränkten Rechten auf
Ihrem Webserver installieren, damit experimentieren, beliebige Veränderungen oder Erweiterungen
vornehmen sowie Codebausteine herauskopieren.
❏ Crashkurs: In diesem Verzeichnis finden Sie alle XHTML-, CSS-, JavaScript-, PHP-, und AJAX-Beispiel-Skripte aus dem zweiten Buchteil sowie die praktische swiftmailer-Bibliothek zum Versand von
E-Mails.
❏ Installationen: In diesem Verzeichnis finden Sie alle Programme, deren Installationen im dritten
Buchteil vorgestellt werden. Im Einzelnen sind das die zum Redaktionsschluss dieses Buchs ( Juli 2009)
aktuellen Versionen des Apache 2, MySQL 5, PHP 5 und phpMyAdmin. Die Programme liegen jeweils für Windows und Linux vor.
Beachten Sie bitte bei allen Open-Source-Programmen die auf der CD enthaltenen Dateien zu den Lizenzbestimmungen.
Alle Software der Buch-CD kann auch aus dem Internet bezogen werden. Den Projekt-Quellcode und die
Beispielskripte finden Sie unter der Adresse http://www.webflips.de. Links zu den übrigen Programmen finden Sie ebenfalls unter dieser Adresse.
E.4 Danksagung
In der ersten Auflage habe ich mich an dieser Stelle bei vielen Menschen bedankt, ohne die die Entstehung dieses Buches nicht möglich gewesen wäre.
Das Erscheinen dieser Neuauflage ist jedoch einzig und allein meiner Lektorin Sabine Schulz vom mitpVerlag zu verdanken. Durch ihre unerschöpfliche Geduld mit meiner immer knappen Zeit, ihren unzähligen aufmunternden E-Mails inklusive Rat und Tat sowie dem festen Glauben an die Fertigstellung haben
wir es tatsächlich geschafft! ☺
25
© des Titels »Dynamische Webseiten in der Praxis« (ISBN 978-3-8266-1782-9) 2009 by Verlagsgruppe Hüthig Jehle Rehm GmbH, Heidelberg
Nähere Informationen unter: http://www.it-fachportal.de/1782
Herunterladen