# Einführung

Die Softwarebranche ist binär, du bist die 1 oder 0, tot oder lebendig.
Tim Robbins, als Gary Winston im Film »StartUp«

Im Jahre 1990 stellte Tim Berners-Lee die erste Verbindung von einem Browser zu einem Server her, um ein dort abgelegtes Dokument im HTML-Format zu öffnen. Seitdem ist das Internet unaufhörlich in alle möglichen Bereiche vorgestoßen. Aus dem heutigen Leben ist es kaum noch wegzudenken – seien es nun Privatleute, die eine kleine Seite ins Internet gestellt haben, um auch „dabeisein“ zu können, oder ganze E‑Business-Systeme, die den Eigentümern bares Geld bescheren bzw. bescherten. Jedoch sind eine gewisse Flaute und der Einbruch der so genannten New Economy nicht von der Hand zu weisen. Nun beginnt die Aufbauarbeit, diesmal jedoch wesentlich überlegter und langsamer.

Ohne Dynamik kommt kaum eine Webseite aus, denn Internetbenutzer verlangen heutzutage einfach mehr als nur einfache Seiten mit veralteten Informationen. Die Informationen müssen aktuell, informativ und nach Möglichkeit schön verpackt sein. Bei kleinen Projekten ist das nicht weiter problematisch, sind HTML, CSS und JavaScript doch probate Mittel, dies zu realisieren. Ändern sich die Informationen jedoch täglich oder werden sie gar stündlich erweitert, ist es mühselig, dies alles noch in kleine handliche HTML-Pakete zu schnüren. Hier wird der Einsatz von serverseitigen Scriptsprachen wie Perl und PHP, die im Laufe der Jahre zu ernst zu nehmenden Programmiersprachen herangewachsen sind, äußerst interessant und hilfreich. Gerade PHP schickt sich in der neuen Version 5 an, seinen Platz an der Spitze weiter auszubauen.

Ob Sie nun zur Gruppe der Privatleute gehören, die auch sagen wollen: »Ich habe meine eigene Internetseite«, oder Ihren Verein im Internet präsentieren wollen, um noch mehr Personen und somit potenzielle Mitglieder erreichen zu können, spielt dabei eine eher nebensächliche Rolle. Eventuell steht sogar Ihr Chef eines Morgens in Ihrem Büro und teilt Ihnen mit, dass Ihre Firma ebenfalls ins Internet muss, damit neue Vertriebswege erschlossen werden können. Für Sie stellt sich nun in jedem Fall die Frage: Aber wie? Diese Frage werde ich Ihnen in diesem Buch Schritt für Schritt beantworten.

# An wen richtet sich dieses Buch?

In erster Linie richtet sich dieses Buch an Einsteiger, die bisher lediglich auf Seiten der Anwender Erfahrungen mit dem Medium Internet gemacht haben und die nun den Umgang mit HTML, CSS, JavaScript oder den anderen Internettechnologien wie PHP, Perl und MySQL erlernen möchten.

Aber auch erfahrene Leser, die bereits Kenntnisse in HTML oder Perl haben und nun weitere Mittel und Wege kennen lernen möchten, um Webprojekte mit serverseitigem Scripting zu erstellen, werden in diesem Buch nicht außen vor gelassen. Gerade die Zusammenarbeit all dieser Sprachen birgt des Öfteren Stolpersteine, die es zu überwinden gilt.

# Was Sie schon können sollten

Grundsätzlich sind Erfahrungen mit der einen oder anderen Programmiersprache wie der C-Familie oder Java hilfreich. Vor allem syntaktische Elemente aus diesen Sprachen werden Sie in JavaScript, Perl und PHP antreffen. Außerdem erleichtern Kenntnisse in einer Programmiersprache auch das Verständnis des programmatischen Ablaufs. Dies ist jedoch nicht Voraussetzung, denn ich werde Ihnen zu jeder Sprache die syntaktischen Eigenheiten der Variablen, Schleifen und Programmsteuerungen eingehend erläutern.

Generell sollten Sie sich jedoch schon einmal ausführlicher mit Windows oder Linux beschäftigt haben und sich mit der Verwendung der Betriebssystemumgebung und den spezifischen Eigenheiten auskennen. Sowohl zum Erstellen der Dateien und zum anschließenden Ablegen auf dem Webserver (auf Ihrem eigenen Rechner oder auf einem Server im Internet) als auch zur Installation und Konfiguration eines funktionierenden Webservers auf Ihrem Rechner ist dieses Wissen notwendig. Aber auch hierbei werde ich Ihnen Hilfestellung leisten.

# Was Sie mit diesem Buch lernen

Ich werde Sie in diesem Buch in die Auszeichnungssprache HTML und die Formatierungssprache CSS einführen. Die clientseitige Sprache JavaScript wird Ihnen in Verbindung mit HTML an praxisorientierten Beispielen nähergebracht. Ferner werden die serverseitigen Scriptsprachen Perl und PHP im Zusammenhang mit der Datenbankabfragesprache SQL an alltäglichen Beispielen erläutert.

So lernen Sie das Programmieren von Gästebüchern, die Funktionsweise von Besucherzählern und werden am Ende auch eigene, dynamische Grafiken – egal ob als JPG oder PNG – erzeugen können. Dabei werden die Daten sowohl aus Dateien als auch aus Datenbanken geholt.

In der 2. Auflage ist der Teil zu XML hinzugekommen. Nachdem zu Zeiten der 1. Auflage der Einsatz von XML noch relativ selten erfolgte, wird die Bedeutung durch Webservices oder RSS/RDF immer größer, und dem soll selbstverständlich Rechnung getragen werden.

Mit der 3. Auflage wurde der XML-Teil stark erweitert und behandelt jetzt auch das Hypethema AJAX. Nachdem in der 2. Auflage primär Programmiertechniken Berücksichtigung fanden, wurde in dieser Auflage vermehrt auf Themen Rücksicht genommen, die mit der Programmierung und Gestaltung einhergehen. So wird die Barrierefreiheit von Webseiten immer wichtiger, denn für jede Anwendergruppe soll bzw. muss eine Webseite nutzbar sein. Darüber hinaus wird in einem eigenen Kapitel die Suchmaschinenoptimierung für ein besseres Ranking in Google behandelt. Die besondere Fähigkeit des Apache Webservers, mit .htaccess-Dateien die Konfiguration des Servers für einzelne Verzeichnisse zu verändern, hat viele Vorteile: Die Dateien ermöglichen zum Beispiel einen Passwortschutz oder unterbinden das Hotlinking von Dateien. Deshalb wird auch diese Technik in einem eigenen Kapitel behandelt.

Schlussendlich werden Sie in den Entwicklungs- und Programmierprozess einer vollständig dynamischen Webseite eingeführt, indem Sie ein solches Projekt von A bis Z planen, entwickeln und programmieren – natürlich immer mit praxistauglichen Beispielen.

# Schreibweisen in diesem Buch

Da Sie in diesem Buch sowohl auf Erklärungen, Quellcodebeispiele als auch auf programmiersprachenspezifische Schlüsselwörter stoßen werden, werden zur besseren Unterscheidung und auch der Übersicht halber verschiedene Formatierungen verwendet.

Da Quelltexte einen großen Teil in diesem Buch ausmachen, wurden sie auch mit den augenscheinlichsten Formatierungen versehen. Diese Quelltexte werden Listings genannt und heben sich vom normalen Text durch eine nichtproportionale Schrift ab.

//  Dies ist ein Beispiel für einen Quelltext
//  bzw. ein Listing.

Auch Variablen- und Funktionsbezeichner, Schlüsselwörter einer Programmiersprache und ähnliche Begriffe werden in der nichtproportionalen Schrift dargestellt.

Dateinamen und Verzeichnispfade sowie Internet- und E‑Mail-Adressen werden fett gedruckt formatiert.

Neben diesen Formatierungen werden Sie auch auf verschiedene Symbole am Seitenrand treffen, die Textabschnitte mit wichtigen Inhalten, Warnungen oder Verweise auf die dem Buch beiliegende CD‑ROM beinhalten.

  • Tipps & Tricks: Textabschnitte mit diesem Symbol enthalten Tipps und Hinweise für den Umgang im Programmieralltag.

  • Vorsichtig sein: Wenn dieses Symbol am Seitenrand auftaucht, enthält der Textabschnitt eine Warnung.

  • Genau hinschauen: Sicherheitsprobleme und Fallen der Programmiersprache werden mit diesem Symbol markiert.

  • Externe Quelle: Textabschnitte mit Verweisen auf die beiliegende CD‑ROM sind mit dem nebenstehenden Symbol markiert.

# Internetangebot

Auf den Webseiten von Galileo Press und natürlich auf meiner Webseite finden Sie zusätzliche Informationen rund um dieses Buch. Dort können Sie auch mit mir oder dem Verlag in Kontakt treten. Ich würde mich über Anregungen und konstruktive Kritik freuen und stehe Ihnen im Forum von MyGalileo auch für Fragen zur Verfügung, sobald Sie dieses Buch dort registriert haben. Alternativ können Sie auch gern das Forum auf meiner Webseite verwenden.

Galileo Press: http://www.galileo-press.de
Galileo Computing: http://www.galileocomputing.de
Meine Seite: http://www.mark-lubkowitz.de
Forum: http://www.mark-lubkowitz.de/forum

# Vorwort zur 2. Auflage

Vor gut anderthalb Jahren – im Mai 2003 – ist die 1. Auflage dieses Buches erschienen. Seit diesem Zeitpunkt ist das Buch mehrere tausend Male verkauft worden, und wenn ich ehrlich bin, habe ich mit diesem Erfolg nicht gerechnet. Im Gegenteil, als blutiger Neuling im Schreiben von Büchern habe ich meine Erwartungen gering gehalten. Desto erfreuter und überraschter war ich über die große Zahl an Zuschriften und die durchweg positive Kritik. Es gab zwar auch die eine oder andere negative Anmerkung, jedoch war auch diese in der Regel angebracht und nachvollziehbar. Ganz besonders bedanken möchte ich mich an dieser Stelle bei Tanja Credner. Die vielen E‑Mails haben mir die Überarbeitung dieses Buches wesentlich erleichtert. Nachdem ich mit einigen Lesern auch einen regen elektronischen Schriftwechsel führen konnte, hat mich am meisten die unterschiedliche Mischung der Leser überrascht. Im Altersbereich zwischen 13 und 60 Jahren war jede Gruppe vertreten, ob Studenten oder Hobbyisten. Euch allen meinen Dank.

Seit der 1. Auflage hat sich in Hinblick auf die Internettechnologien einiges getan. Die finale Version 5 von PHP und die Version 4 von MySQL sind erschienen, in vielen Fachzeitschriften wird verstärkt auf Webservices eingegangen, und langsam, aber sicher scheint sich auch in Deutschland das Bloggen zu etablieren. Darüber hinaus finden sich auf vielen Seiten immer häufiger kleine orange Icons mit der Aufschrift RSS oder RDF. PHP 5 und MySQL 4 wurden in dieser 2. Auflage ebenso berücksichtigt wie die steigende Bedeutung von Webservices, und was es mit Bloggen und RSS/RDF auf sich hat, werden Sie in diesem Buch ebenfalls erfahren.

Aufgrund der Erweiterungen wurde das Buch einigen Änderungen unterzogen, die gerade Ihnen, dem Leser, zugute kommen. Das Buch selbst hat ein breiteres Format. Bei einer hohen Seitenzahl erleichtert es das Lesen, da Sie das Buch problemlos aufgeklappt auf den Tisch legen können. Andererseits ist das Format auch in der Lage, mehr Informationen zu fassen. Ich hoffe, dass Ihnen dieses Format genauso gut gefällt wie mir.

Ach ja, Käufer eines Exemplars der 1. Auflage oder eines der Nachdrucke können sich unter MyGalileo den neu hinzugekommenen XML-Teil als PDF herunterladen.

# Vorwort zur 3. Auflage

Seit der 2. Auflage dieses Buches hat sich technisch im Internet nur wenig getan. Lediglich Schlagworte aus Marketingecken finden immer stärkere Verbreitung. Da wäre allen voran Web 2.0 zu nennen. Aber mal ehrlich, haben Sie mitbekommen, dass die Version 2.0 des Internets veröffentlicht worden ist? Nein? Wie auch, denn erstens hat das Web keine Versionsnummer und zweitens ist der Begriff Web 2.0 lediglich der Versuch, das Sammelsurium an Entwicklungen auf Basis vorhandener Technologien und Spaßigkeiten unter einen Hut zu bringen. Wer vom Web 2.0 spricht meint damit Podcasts, RSS-Feeds und Blogs. Aber auch die Wikipedia (http://de.wikipedia.org), Google-Maps (http://maps.google.de), Flickr (www.flickr.com) und Google Earth (http://earth.google.com) gehören darunter. Erfunden wurde der Begriff Web 2.0 von Tim O’Reilly, dem Gründer des gleichnamigen Verlages. Damit hat er gemeint, dass die Mitwirkung der Nutzer, insbesondere an Projekten wie Wikipedia, den Mehrwert des Internets gesteigert hat und dies zum Web 2.0 erklärt.

Mark Lubkowitz
Ismaning, Juni 2006