[johann-christian hanke] php und mysql für kids(bookfi.org)
Post on 22-Jun-2015
51 Views
Preview:
TRANSCRIPT
Johann-ChristianHankeHanke8674Johann-Christian Hanke6. Au ageAuf der CD: PHP 5, MySQL 5, Apache-Webserver, PSPad, Notepad++, Aptana Studio, XAMPP, Videos zur Installation und Einrichtung, Programmiercode aus dem BuchDer Bestseller aktualisiert in der 6. Auage!Alles redet von PHP und MySQL! Und unzhlige Webseiten-ProgrammierersetzendieProgram-miersprache PHP und die Webdatenbank MySQL mit viel Erfolg und Spa ein. Du mchtest auch in diese Liga aufsteigen und tolle Webseiten mit PHP und MySQL erstellen?Dann ist dieses Buch von Johann-Christian Hanke genau richtig fr dich! Du lernst zum Beispiel, wie du die Besucher auf deiner Webseite zhlst und ein Gstebuch einrichtest, in dem deine Freunde Nachrichten verffentlichen knnen. Selbst eigene Umfragen, Formulare fr Feedback und ein kleines Weblog kannst du bald selbst erstellen. Falls du einmal nicht weiterweit, springt dir Hund Bufzur Seite und gibt dir gerne hilfreiche Tipps. Und das ist lngst nicht alles, was das Buch zu bieten hat!DieCDistrandvollmitTools,diedufrdeine Webseiten-Programmierung brauchst. Die Videos zur Installation und Einrichtung helfen dir, damit du sofort mit dem Programmieren loslegen kannst.Auf der CD ndest du alles, was du zum Program-mieren brauchst:PHP 5, MySQL 5, den Apache-Webserver, die Edito-ren PSPad, Notepad++ und Aptana Studio, phpMy-Admin, XAMPP, SELFHTML, Videoworkshops, Lsun-gen zu den Aufgaben und den Programmiercode aus dem BuchISBN 978-3-8266-8649-8 Ebenfalls in dieser Reiheerschienen:ber den Autor:Johann-Christian Hanke ist ein erfolgreicher Fach-buchautor und gibt Kurse an einer Volkshochschule in Berlin.System-voraussetzungen: Alle Windows-Versionen sowie Mac OS X und LinuxAb 11 Jahre, aber auch fr Erwachsene, die eine wirklich einfache Einfh-rung suchen.23,3 mmProbekapitel und Infos erhltst du unter:info@it-fachportal.dewww.it-fachportal.de(D) 19,95Regalsystematik:ProgrammierungISBN 978-3-8266-8674-08674.indd1 07.01.201010:48:51 PHP und MySQL fr Kids Johann-Christian HankePHP und MySQLfr Kids Bibliografische Information Der Deutschen BibliothekDie Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografischeDaten sind im Internet ber abrufbar. Bei der Herstellung des Werkes haben wir uns zukunftsbewusst fr umweltvertrgliche und wiederverwertbare Materialien entschieden. Der Inhalt ist auf elementar chlorfreiem Papier gedruckt. ISBN: 978-3-8266-8674-0 6., aktualisierte und erweiterte Auflage 2010 E-Mail: kundenbetreuung@hjr-verlag.de Telefon: +49 89/2183-7928 Telefax: +49 89/2383-7620 2010 bhv, eine Marke der Verlagsgruppe Hthig Jehle Rehm GmbH Heidelberg, Mnchen, Landsberg, Frechen, Hamburg. Printed in Germany Lektorat: Katja Vlpel Korrektorat: Petra Heubach-Erdmann Satz und Layout: Johann-Christian Hanke, Berlin Dieses Werk, einschlielich aller seiner Teile, ist urheberrechtlich geschtzt.Jede Verwertung auerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlages unzulssig und strafbar. Dies gilt insbesondere fr Vervielfltigungen, bersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. fr Tabea, Florian und Linus 7
Inhaltsverzeichnis Vorwort15 Was bedeutet eigentlich Programmieren?15 Wozu sind Datenbanken da?16 Was kannst du mit PHP und MySQL alles machen?17Was ist ein Webserver und wozu brauchst du den?18 Wie arbeitest du mit diesem Buch?18 Was brauchst du fr dieses Buch?19 Wie gut kommst du mit dem Computer klar?20 Was ist neu in Auflage 6?22 Wo gibts Hilfe, wenn es mal klemmt?24 1Deine coole Homepage mit HTML25 Richte dir einen Projektordner ein!26 HTML auf Knopfdruck mit PSPad28 So wirds perfekt: berschriften, Abstze und mehr35 Hier bin ich: Ein Bild einfgen40 Meine Hobbys kurz aufgelistet43 Coole Links zu coolen Pltzen45 Meine drei Lieblingsfcher in einer Tabelle47 Schickes Layout mit Style Sheets49 Schn bunt hier: Farben zuweisen53 So legst du die exakte Breite fest57 Eine Umfrage! Wie findest du meine Page?59 Tipps und Tricks zu PSPad61 Schlussbemerkung64 Zusammenfassung64 Ein paar Fragen 65 und ein paar Aufgaben65 8 Inhaltsverzeichnis 2Installiere deinen eigenen Webserver!67 Warum eigentlich ein Webserver?68 Wie teuer ist die Homepage mit PHP/MySQL?71 How! Im Reich des Apachen75 Ganz einfach: Webserver selbst installiert!75 Nur noch etwas Handarbeit und fertig!81 Testen: phpinfo() auf localhost83 Schlussbemerkung86 Zusammenfassung87 Ein paar Fragen 87 und eine Aufgabe88 3Hallo echo Hallo Welt89 Daten ausgeben mit echo90 Variablen: Mein rechter, rechter Platz ist leer94 Ausgabe verschnern mit HTML-Tags96 Wie Pech und Schwefel: Strings verketten97 Kleine Zeilenumbruchkunde101 Maskenball: Das Escape-Zeichen \103 Keinen Durchblick? Kommentare setzen!105 Fehlermeldung? Cool bleiben!106 Schlussbemerkung108 Ein paar Fragen 109 und ein paar Aufgaben109 4Spa mit Datum und Uhrzeit111 Immer up to date112 Wer hat an der Uhr gedreht?115 Pause muss sein: Die if-else-Entscheidungsstruktur116 Der Tag vergeht: Zwischentne mit elseif123 Feldvariablen: Wochentage aufschreiben125 Arrays die Zweite: Es geht auch krzer!128 9 Inhaltsverzeichnis Assoziativ: Monatsnamen als Array129 und wieder die Kurzform131 Den Monat ausgeben132 Schlussbemerkung133 Zusammenfassung133 Ein paar Fragen 134 und ein paar Aufgaben135 5Seiten mit Passwort schtzen137 Formular fr das Passwort138 Senden mit Methode: post oder get?139 Ausgabe des Passworts141 Testen mit if-else143 Schnheitsfehler? Variablentest mit isset()!144 Mehr Mglichkeiten mit switch147 Inhalt mit include einbinden151 Mehr Sicherheit: Endungs- und Ordnertricks152 Schlussbemerkung154 Zusammenfassung155 Ein paar Fragen 156 und ein paar Aufgaben156 6Etwas Mathe: Taschen(geld)rechner157 Nicht ohne Grund: Grundrechenarten158 Rechenpraxis: Zwei mal Drei macht Vier 159 Einnahmen minus Ausgaben: Taschengeldrechner160 $_SERVER['PHP_SELF']: Daten an sich selbstschicken164 Wie viel bleibt brig? Prozentrechnung!165 Traurige Sulen: Ergebnis als Diagramm169 Plus, Minus, Mal, Geteilt? Select!170 So liest du ein SELECT-Feld aus172 10 Inhaltsverzeichnis Rechner de luxe: Wir schreiben eine Funktion174 Der Rechner im Einsatz177 Schlussbemerkung180 Zusammenfassung180 Ein paar Fragen 181 und ein paar Aufgaben181 7Schleifen: Die Gratulationsmaschine183 Die while-Schleife184 Prfung zu Fu: do while189 Der Bestseller: for190 Und die Geburtstagskerzen?192 Have a break: Abbruchbedingung einfgen194 Und noch eine Schleife: foreach195 Schlussbemerkung199 Zusammenfassung199 Ein paar Fragen 199 und ein paar Aufgaben200 8Frs Feedback: Formmailer selbst gestrickt201 Die Funktion mail()202 E-Mail mit Datums- und Zeitstempel204 Das Feedback-Formular205 Professionell mailen: Fehler unterdrcken207 Formular um ein Name-Feld erweitern210 Backslashes entfernen mit stripslashes()211 Prfen! Sind alle Felder ausgefllt?212 Inhalt in die Formularfelder schreiben216 Erweiterter Fehlertest: Mindestlnge undE-Mail-Check221 Krnender Abschluss: Universal-Formmailer227 Schlussbemerkung231 11Inhaltsverzeichnis Zusammenfassung232 Ein paar Fragen 232 und ein paar Aufgaben233 9Surfer wiedererkennen mit Cookies235 Was sind Cookies?236 Grundeinstellungen im Browser239 Krmelmonsters Keksfabrik: Cookies backen241 Der Keks bekommt ein MHD243 Herumkrmeln:Cookies verspeisen244 Aufgegessen: Cookies lschen245 Schlussbemerkung246 Zusammenfassung246 Ein paar Fragen 246 und ein paar Aufgaben246 10Besucherzhler selbst gebaut247 Zwei Dateien: So funktioniert das Beispiel248 Hitmaschine: Ein Textcounter248 Datei zum Lesen ffnen249 Der geheimnisvolle Dateizeiger250 Daten in eine Textdatei schreiben252 Rechtevergabe mit chmod253 Counter de luxe mit Cookies256 So funktioniert das Skript257 Schlussbemerkung258 Zusammenfassung258 Ein paar Fragen 258 und ein paar Aufgaben259 11Eine Umfrage mit grafischer Auswertung261 So sieht das Beispiel aus262 Durch Komma separierte Textdatei263 12 Inhaltsverzeichnis Text am Trennzeichen zerlegen266 Die unsichtbare Tabelle fr das Diagramm267 und wieder etwas Mathe: Dreisatz268 Die Umfrageseite: So funktioniert das Skript270 Schummeln verboten: Mehrfachvotes unterdrcken 273 und wieder entsteht ein Array274 Schlussbemerkung277 Zusammenfassung277 Ein paar Fragen 277 und ein paar Aufgaben278 12Das eigene Gstebuch 279 (Zu) simpel gestrickt: Version 1280 Hacking-Versuche unterbinden283 Die Funktionen nl2br() und readfile()283 Schon besser: Gstebuch Version 2284 So vermeidest du Doppeleintrge286 Gstebuch sicherer machen290 Schlussbemerkung291 Zusammenfassung292 Ein paar Fragen 292 und ein paar Aufgaben292 13Ein Adressbuch fr dein Team295 Planung ist die halbe Miete296 Geniales Tool: phpMyAdmin298 Etwas SQL zum Anlegen der Datenbanktabelle300 Die Datentypen im berblick304 Trage ein paar Adressen ein!307 Alle Teammitglieder da? Schaue nach!312 Daten als HTML-Tabelle ausgeben317 Mit PHP: Eingabeformular selbst gestrickt327 13Inhaltsverzeichnis Schlussbemerkung332 Zusammenfassung332 Ein paar Fragen 333 und ein paar Aufgaben334 14Gstebuch de luxe als Datenbanktabelle335 Datenbanktabelle planen336 Daten erst einmal ausgeben338 Das Eingabeformular entsteht343 Mit Sicherheit: Reloadsperre und Magic Quotes348 Nicht alle Datenstze auf einmal354 Links fr die seitenweise Ausgabe357 Schlussbemerkung361 Zusammenfassung361 Ein paar Fragen 362 und ein paar Aufgaben362 15Weblog fr Kids: Das Mini-CMS365 Pflichtenheft: Zuerst planst du das Projekt366 Schickes Design: Die Ausgabe aller Daten368 Datenbankabfrage: Der MySQL-Teil im berblick372 News von Gestern? ltere Eintrge anzeigen!375 Passwortschutz mit Cookie377 So bindest du die Beitrge ein379 HTML in PHP mit heredoc380 Mehr gefllig? Hier klicken!383 Die Funktionen strlen() und substring()385 Schlussbemerkung389 Zusammenfassung389 Ein paar Fragen 390 und ein paar Aufgaben390 14 Inhaltsverzeichnis 16Aktivitten verwalten: Wer kommt mitins Kino?391 Das Adressbuch bekommt Gesellschaft392 Ist das noch normal? Daten aufteilen!395 Nicht vergessen: Das Eingabeformular399 Bitte besttige: Name und Nutzer-ID403 Wer kommt mit? Aus zwei mach drei!406 SQL fr Profis: Von Joins und Funktionen411 Schlussbemerkung416 Zusammenfassung417 Ein paar Fragen 417 und ein paar Aufgaben417 17Automatisch Geburtstagsgre versenden419 MySQL und dein Dienstleister420 ALTER TABLE: Neue Spalte mit ADD COLUMN420 Vorberlegung: Pseudo-Cronjob einrichten421 So klappts: Das Geburtstags-Skript422 Schlussbemerkung426 Zusammenfassung427 Ein paar Fragen 427 und ein paar Aufgaben428 Anhang A: Fr Eltern und Lehrer429 Anhang B: Hochladen der Seiten mit FTP431 Anhang C437 Empfehlenswerte PHP-Editoren437 PHP und MySQL lernen438 Stichwortverzeichnis 439 15
Vorwort PHP was ist das? Lass mich dazu eine kleine Geschichte
erzhlen! EswareinmaleinTyp,derhieRasmus.UndRasmushatteeineeigene
Homepage.Zugegeben,dasistheutenichtsBesonderes.Dochdamals
(1994)besaendiemeistenHomepagesdenCharmeeinerverhauenen
Mathearbeit.EsfehltederPfiff.DasrgerteunserenHelden.Kurzerhand
schrieb Rasmus ein paar Befehle, um seine Homepage aufzupeppen.
Eine neue Programmiersprache war geboren! Er nannte sie Personal
Homepage-Tools, kurz PHP. Und weil PHP so einfach war, fanden sich
bald ein paar andere
Computer-experten,dieimmermehrPeppzuPHPhinzufgten.Gemeinsamentwi-ckeltenundentwickelnsiePHPzureinerrichtigcoolenHomepage-Aufpepp-Sprache:EgalobBesucherzhleroderGstebuchallesdas
konnte nun mit relativ wenig Aufwand gebastelt werden. Wenn du
dieses Buch liest, gibt es schon die PHP-Version 5.4 oder sogar
schon6daistinderZwischenzeitalsoallerhandpassiert.Auchauf deiner
Homepage wird mit PHP bald allerhand passieren. Versprochen!
DochwozubrauchstdudiesesDatenbankprogrammnamensMySQL?Und
wasistdasgenau?Daserzhleichdirgleich!Dochvorhersprechenwir
berdieSache,umdiesichimBuch(fast)allesdrehtberdasPro-grammieren.
Was bedeutet eigentlich Programmieren?
ProgrammierenistwennmandemComputersagt,woderHaselang luft. Du gibst
dem Computer Befehle, die er automatisch ausfhren muss.
Angenommen,LarsLabertaschebestelltaufdeinerHomepagedreiEimer
deinerselbstgebrautenSpezial-KaugummismitSprechblasen-Garantie.
DannsollderHomepage-ComputerdieseBestellungandichperE-Mail
weiterleiten.Undzwarsoschnellwiemglich.DamitderComputerdas
auchsomachtwieduwillst,schreibstduihmallesvorhergenauauf.Du gibst
dem Rechner die entsprechenden Befehle und Anweisungen. 16 Vorwort
Vorwort UnddaliegtderHaseimPfeffer:ComputerverstehenkeinDeutsch!Du
musst wohl oder bel die Sprache der Computer lernen. Diese heit in
un-serem Fall eben PHP. Wenn Lars hinterher doch 5Eimer
Lakritzschnecken oder 3
SackGem-sezwiebelngeliefertbekommt,hastduwohleinenProgrammfehlerge-macht.
Aber das steht auf einem anderen Blatt. Programmfehler gehren
zurProgrammierer-KarrieredazuwiederGeigerfleckamKinneines
Violinspielers. Wozu sind Datenbanken da?
Angenommen,deinkleinesGeschftaufderHomepagestartetrichtig
durch:LarsistinzwischenStammkundegeworden.NebenLarsbestellen noch
Lukas, Laura, Tim,MichelleundJanregelmigdeineselbstgekoch-ten
Kaugummis. Tglich kommen unzhlige Bestellungen. Um weniger Stress
zu haben, mchtest du nicht mehr jede einzelne
Bestel-lungvomComputergeschicktbekommen.DubefiehlstdemComputer,
alleBestellungenineineListezuschreiben.SolcheineListeistaufgebaut
wie eine Tabelle: Alles steht fein suberlich untereinander.
DieseeineTabellen-ListewirdnunalsDatenbanktabellebezeichnet.Das ist
sehr bersichtlich, weil jede Bestellung in einer eigenen Zeile
steht.Halt, da wre noch eine Kleinigkeit: Wenn du Datenbanktabellen
einset-zenwillst,brauchstduwiedereinspeziellesProgramm,dasDatenbank-programm.
Und hier nehmen wir MySQL. Warum? Weil MySQL viel kann, nichts
kostet und sich wunderbar mit PHP vertrgt. Merke dir: Eine
Datenbanktabelle ist eine Art Liste in Tabellenform. Sie hilft dir,
deine Daten effektiver zu speichern. Du kannst sie, musst sie aber
nicht
einsetzen.EineodermehrerezusammengehrigeDatenbanktabellenwer-den
auch als Datenbank bezeichnet.
AmBeispieleinesGstebucheszeigeichdirspter,wiemanesohneund mit
Datenbankuntersttzung machen kann. Apropos machen 17Was kannst du
mit PHP und MySQL alles machen? Was kannst du mit PHP und MySQL
alles machen?
Fastalles!WiewreesmiteinemZhler?DemebenerwhntenGste-buch?DerUmfrage?DumchtestdieaktuelleUhrzeitaufderHomepage
anzeigen? Das Datum? Du willst dem Surfer mitteilen, dass er schon
einmal aufdeinerHomepagewar.KeinProblem!berprfe,obdasFormular(z. B.
frdieKaugummi-Bestellung!)richtigausgeflltwurde.ZeigeLarsLaber-taschealleBestelldatennocheinmalan.SchreibeeinProgramm,welches
deinen fleiigen Bestellern bei jeder Bestellung eine Dankes-E-Mail
schickt. Das Grte: Vieles davon geht sogar schon allein mit PHP.
Doch ein
Daten-bankprogrammwieMySQListdannungeschlagen,wennvieleInformatio-nenverknpftwerdenmssen.Klingtkompliziert?Nehmenwiran,duer-weiterstdasAngebotdeineskleinenInternet-Ladens.Nungibtesneben
denKautschisauchLakritzschneckenmiteingebautemDrehwurm,
PfefferminzbonbonsmitAnisgeschmackundandereselbstgemachte
Leckereien. Wie stellst du deine Kstlichkeiten ins Netz? Du trgst
alle Da-ten fein suberlich untereinander in eine weitere
Datenbanktabelle ein. Es gibt also eine extra Liste fr deine
Sigkeiten und eine weitere Liste fr
dieBestellungen.DasmachtesfrdenComputereinfacher,dieDatenzu
verwalten, weil alles wunderbar geordnet
ist.Dochdamitnichtgenug.WeisedenComputeran,BestellungundAdress-daten
in getrennten Tabellen zu fhren. Das ist ungeheuer praktisch, denn
nun muss Lars seine Daten nicht bei jeder Bestellung neu eingeben.
Er be-kommteinfacheineNummerundwirdjedesMalanhanddieserNummer vom
Computer wiedererkannt. Lange Rede, kurzer Sinn: Im Endeffekt hast
du ein richtiges kleines
Sys-temvonmiteinanderverknpftenDatenbanktabellen.FrjedenZweck
gibtesdiepassendeTabelle:EinefrdieProdukte,einefrdieKunden
undeinefrdieBestellungen.AlleTabellengehrenzusammen:Dasist
ungeheuerpraktischundeffektiv.DamithastdueinetolleDatenbank
geschaffen! Wenn du dieses Prinzip verstanden hast, kannst du
praktisch alles mit PHP undMySQLmachen.Unddiesestolle
Prinzipschauenwir uns in den
letz-tenKapitelndesBuchesundauchimFortsetzungsbandPHPundMySQL
Praxisbuch fr Kids etwas nher an. 18 Vorwort Vorwort Was ist ein
Webserver und wozu brauchst du den?
WaszumTeufelistdennnunderWebserver?EsistdeinHomepage-Computer.AlsoderRechner,aufdemdeineHomepageliegt.Moment
mal,denkstduhiervielleicht.MeineHomepageliegtdochz.
B.aufmei-nemRechnerdaheim.Dorthabeichsieerstelltunddortkannichsiemir
jederzeit ansehen.
Dasstimmtschon,andeinemRechnerkannstdudeineHomepagesehen. Und du
kannst sie deinen Kumpels zeigen. Doch damit alle etwas von
dei-nenSeitenhaben,musstdudieseerstaufdenHomepage-Computerim Web
hochladen. Also auf den sogenannten Webserver. Das Wort Server
kommt vom Englischen to serve. Das bedeutet soviel wie
dienen.DerWebserveristderDienerimWeb.HierliegendieWebsei-ten,dieHomepages.DerWebserverdientsoallenBesuchern.Denndie
BesucherknnendieSeitennunvomWebserverabrufenundmitihrem Browser
betrachten. Der Webserver sorgt brigens auch dafr, dass PHP und
MySQL richtig gut funktionieren. Er fhrt also die von dir
aufgeschriebenen Programmbefehle aus. Erst dann zeigt er dem
Besucher die gewnschte Seite.
DerbekanntesteundbesteWebserverheitbrigensApache.Jarichtig,
ApachewiedergleichnamigeIndianerstamm.BeisolcheinemtollenNa-menmussdieSacheziemlichcoolsein.Dasistsieauch!DieArbeitmit
PHP, MySQL und dem Apachen macht irrsinnigen Spa. How! Wie
arbeitest du mit diesem Buch?
LahmesLesenistout,Selbermachenistin:DiesesBuchenthltnichtnur
sturenTextunddeProgrammanweisungen,sondernvorallemBeispiele, Tipps
und Tricks. Mitmachen ist also Pflicht. Es lohnt sich! Doch wenn du
mal keine Lust zum Abschreiben hast (oder dich immer wie-der
verschreibst), ist das auch nicht schlimm! Ich habe dir alle
Beispiele auf die CD gepackt. Ansonsten zeige ich dir schnell noch,
welche Symbole be-sonders wichtig sind. 19Was brauchst du fr dieses
Buch? Arbeitsschritte
>WenndudiesesZeichensiehst,heitdas:Achtung,Action!Esgibt
etwaszutun.SchreibeeineProgrammzeile,whleeinenBefehloder
fhreeinenIndianer-Freudentanzauf,weildeinProgrammendlich
funktioniert. Stolperfallen und Rettungsringe
DiesesSymbolfindestdudagegenimmerdann,wennesproblematisch wird.
Hund Buffi hilft dir, Stolperfallen von vornherein zu umgehen. Lies
also besonders grndlich, wenn du auf dieses Zeichen stt. Vielleicht
ist dasjageradederRettungsring,denduindiesemMomentbrauchst? Aber
auch Tipps und Tricks bauen wir in solche Ksten ein. Besonders
wichtige Stellen im Buch
ImmerwennsolcheinAusrufezeichenamTextranderscheint,wirdes
besonderswichtig.DusolltestdenentsprechendenKastenvielleicht
zweimal lesen. Fragen und Aufgaben
WiederholungistdieMutterderPorzellankiste(odersohnlich).Deshalb
gibt es am Ende jedes Kapitels ein paar Fragen und ein paar
Aufgaben. Wie
heitessoschn:bungmachtdenMeister.DieAntwortenunddieL-sungen zu den
Aufgaben findest du auf der beiliegenden CD. Was brauchst du fr
dieses Buch? Nun, einen Platz im Bcherregal. Spa beiseite, natrlich
einen Computer!
EsmussnichteinmalderallerneusteRechnersein.HauptsacheWindows
undeinInternet-Browsersindvorhanden.Wirgebenunsdabeiganzbe-scheiden,esmssennichtdieneustenVersionensein.Dukannstsogar
noch Windows 98 verwenden. Oder natrlich Windows 2000, Me bzw. das
aktuelle Windows XP. Vom Prinzip her ist das Vorgehen bei allen
Versionen gleich. Sollte es hier Unterschiede geben, mache ich dich
rechtzeitig darauf aufmerksam.) Bei den Browsern ist Firefox sicher
die beste Wahl, aber auch der Internet Explorer, Opera, Safari oder
Google Chrome sind geeignet. 20 Vorwort Vorwort Alles andere
findest du auf der CD! Mehr brauchst du nicht! Tatsache, um den
Rest musst du dich nicht
km-mern.AufCDliefernwirdirallesanderemit,damitdusofortloslegen
kannst. Hier findest du unter anderem: 0PSPad eine sehr gute
Windows-Freeware zum Erstellen von Homepa-ges mit PHP, ein Programm
vom Ja Fiala. 0Aptana Studio, die auf Java basierende Alternative
fr Nutzer von Linux und Mac OS. (Aber auch fr Windows-Nutzer!)
0PHPselbst(zumProgrammierenderdynamischenWebseiten)und
MySQL(dasDatenbankprogramm,ummitDatenbanktabellenOrdnung zu
schaffen)
0phpMyAdmin(eineArtgrafischeOberflchefrMySQL,damitduDa-tenbanken
und Tabellen bequem einrichten kannst)
0Apache-Webserver(damitduallesaufdemeigenenComputerauspro-bierenkannstundsotust,alsobdueineneigenenWebserverhttest.
How!) 0XAMPP: Ein Super-Programm, welches dir alle bisher genannten
Sachen fast vollautomatisch auf deinem Rechner einrichtet
0FileZilla, ein Programm zum Hochladen deiner Homepage auf den
Web-server 0SELFHTML,eineschonfastzuprofimigeEinfhrunginHTML,die
Sprache zum Erstellen von Homepages
0NotePad++,einflinkerWindows-EditorzumschnellenBearbeitenvon
PHP-Dateien. Wie gut kommst du mit dem Computer klar? Du solltest
dich schon ein wenig mit dem Computer auskennen. Du kommst
mitMausundTastaturklar?Prima!Dannkannkaumetwasschiefgehen. Wenn du
zustzlich noch weit, was Ordner sind und wie man diese anlegt,
gehrstduschonindieProfi-Liga.(Undwennnicht,istdashalbsowild,
ichzeigeesdir.)ImNotfallfragstdueinfachdeineFreunde,Geschwister
oderEltern.Vielleichtkennendiesichjaaus.Odersiespendierendirein
anderesBuchausderReihefrKids?ZumBeispielPCsfrKids(zu Windows Vista)
von Hans-Georg Schumann. 21Wie gut kommst du mit dem Computer klar?
Was ist neu in Auflage 4 und 5? Fnf Auflagen in fnfeinhalb Jahren
das htte sich der Autor dieses
Bu-chesnichttrumenlassen.DieersteAuflageerschien2003,diefnfte 2008.
Vielen Dank fr das groe Vertrauen! Wir freuen uns riesig ber
die-senErfolg.Grundgenug,dengesamtenInhaltkritischzuberprfenund
behutsam zu modernisieren.Soviel vorweg: Schon in der vierten
Auflage von 2007 gab es umfangreiche
Neuerungen,ErgnzungenundErweiterungen!Hiergingesvorallemum
dasThemaSicherheit.DiefnfteAuflagehabenwirnochmalsdurchgese-hen und
an vielen Stellen verbessert.Wichtig: Das Thema Sicherheit
BesondersdasThemaSicherheitspieltinzwischeneineimmerwichtiger
werdendeRolle.DieSpamattackenwerden immerheftiger,
dieHackerim-merdreister.SelbstgroeProgrammewiedasContent-Management-SystemJoomla
oderForenwiephpBBwerdenbzw.wurdenOpfervonHa-ckerattacken. Aus
diesem Grund haben wir schon fr Auflage 4 alle Skripte
aufSicherheithinberprftundinmanchenFllenetwaserweitert.Au-erdemgebenwirdiranvielenStellenwertvolleTippsundTricks,wiedu
deine Skripte von vorn herein gegen Angriffe von auen schtzen
kannst.
SicherheitisteinProzess,keinZustand.Washeutenochalssichergilt, kann
morgen mglicherweise schon erfolgreich gehackt werden. Auch ist der
Aufwand fr absolut sichere Skripte so hoch, dass du alleine fr ein
wirklichsicheresGstebuchmehrerehundertZeilenCodeschreiben
msstest.Wirversuchen,denMittelwegzufindenzwischeneinfacher
VerstndlichkeitundDurchschaubarkeitaufdereinenSeiteundSicher-heitderSkripteaufderanderenSeite.Mankannesnochimmerund
immereinStckchenaufwendigertreiben.AberanirgendeinerStelle muss
dann auch Schluss sein. Videoworkshops
InAuflage4habenwirerstmalsVideoworkshopseingefgt.IndiesenVi-deosfhrenwirdirbeispielsweisedieInstallationvonPHPundMySQL
mit dem Tool XAMPP vor, damit du sofort mit dem Programmieren
lose-legenkannst.DufindestalleVideosimOrdnervideos.RufedieDatei
index.html auf. Die Videos liegen im Flashformat vor. Mehr
Informati-onen findest du in der Datei liesmich.txt. 22 Vorwort
Vorwort Was ist neu in Auflage 6? Wenn du dich bisher gewundert
hast, kann ich dich beruhigen: Du hast das
richtigeBucherwischt.VordirliegttatschlichschondiesechsteAuflage
von 2010. Und das kam so: Kurz vor Weihnachten 2009 erreichte mich
der Hilferuf aus dem Verlag: Wir habennur noch ganz wenige
Exemplare auf Lager. Der Titel ist schneller ausverkauft als
gedacht. Wir wrden das Buch am liebsten sofort in einer neuen
Auflage drucken! Sofort war ein echtes Problem. Denn fr eine
weitere Auflage hatte ich mir
ganzheftigeAktualisierungenvorgenommen.IchwolltedieInhalteim Buch
grundlegend modernisieren und meine Anleitungen fr die Zukunft fit
machen. Das bedeutet: 0
AlleHTML-bzw.PHP-Dateienmsstenimimmerweiterverbreiteten
UniversalzeichensatzUnicode(UTF-8)gespeichertwerden.Dennviel-leicht
mchtest du auch einmal fremdsprachige Seiten mit allen
mgli-chenSonderzeichenerstellenundpflegen?MitUTF-8kannstduselbst
Chinesisch rckwrts darstellen, deutsche Umlaute und Sonderzeichen
sowieso. Und da inzwischen auch MySQL die Daten im Format UTF-8
si-chert, wre das auch aus diesem Grund sehr wichtig. 0
Dafrmssteicheinenneuen,Unicode-fhigenPHP-Editorfinden, denn der
gute alte Weaverslave von Thomas Weinert (der Editor der ers-ten
fnf Auflagen) wre mit dem Thema UTF-8 leider berfordert.
Scha-de,Thomas,dassdunochkeineZeitzumAktualisierenhattest!Schn,
dass ich mit PSPad von Jan Fiala einen guten Ersatz gefunden habe.
0 Auerdem msste ich beim Thema Datenbankzugriff auf die
moderne-renPHP 5-Funktionenzurckgreifen.SchonausSicherheitsgrnden!
PHP5istinzwischenderMindeststandard,praktischalleAnbieterha-ben von
PHP 4 auf PHP 5 umgestellt! Und veraltete Techniken gehren
nunmalnichtineinPHP-undMySQL-Lehrbuch.EineMengeArbeit im Interesse
der Sicherheit! 0 Die Installation des sogenannten lokalen
Webservers (wir verwenden im
BuchXAMPP)hatsichgendert.Auchhiermssteicheinekomplett neue
Anleitung schreiben. 0
AuchdieInformationenzudenDienstleisternmssteichaktualisieren, denn
innerhalb eines Jahres kann viel geschehen. 0
Weiterhinwreesschn,wennichmehrTippsfrMac-undLinux-Nutzereinbauenknnte,dennvorallemderAppleMacintoshgewinnt
immermehrFreunde.(AuchwennesnurbeiTippsbleibenwirdfr ausfhrliche
Anleitungen fehlt leider der Platz.) 23Was ist neu in Auflage 6?
Nun, was soll ich dir schreiben: Ich habe es geschafft! Die
vollstndig
aktu-alisierte6.Auflageliegtvordir.Weihnachtsbaum,KerzenscheinundBe-scherung
sind ausgefallen Silvesterparty und Katerfrhstck auch! Dafr
habeichTagundNachtgeschrieben,recherchiert,CodegetipptundCode
geprft. Bis kurz vor dem Drucktermin. Denn das bin ich dir schuldig
eine gut verstndliche PHP-Anleitung auf der Hhe der Zeit. Und wenn
das Buch so gut ankommt wie die Vorauflagen, hat sich die M-he auf
jeden Fall gelohnt! Danke fr dein Vertrauen! Danke auch an die
vielen, vielen Leser, die mir Tipps, Korrektur- und
Ver-besserungsvorschlgegeschickthaben.GanzbesondererDankgehtan
Sandra,JonasundvorallemanFalkJoensson(http://jcoud.de).Gerade
du,Falk,hastmirmitdeinenumfangreichenKorrektur-undVerbesse-rungsvorschlgensehrgeholfen.Nobodyisperfectundichschongar
nicht. Wie gut, dass es solche aufmerksamen Leser gibt wie dich!Das
Betriebssystem spielt keine Rolle! Wundere dich nicht, wenn im Buch
mal der eine oder andere Browser auf-taucht. Der Grund ist ganz
einfach: Ich habe die Anleitungen auf
verschie-denenRechnerngetestet.IchzeigedirsowohlAbbildungenvomInternet
Explorer8unterWindows7alsauchBildschirmfotosdesaltenInternet
Explorer 6 aus Windows XP. Auch Firefox ist natrlich
vertreten.WarumdieseVielfalt?Dusollstsehen,dassdasErgebnisnichtvomBe-triebssystem
oder Browser abhngt. HTML, PHP und MySQL sind
plattform-unabhngig,sielaufenberall!SelbstaufdemMacbookPromitSnow
LeopardoderdemaltersschwachenSchulrechnermitWindows2000oder
Linux.ImWebbeimDienstleistersowiesoundderarbeitetinderRegel
unterLinux!Hauptsache,duhastdasrichtigeWebserver-Programmund den
passenden Code-Editor.
AproposCode-Editor:DadiemeistenLesermitWindowsarbeiten,
kommtderimBuchvorgestellteCode-EditorPSPadausderWindows-Welt.Er
istschlankundschnellund luftdaherauchauf
lterenRech-nern.DukannstdenAnleitungenjedochauchanMacsoderLinux-Rechnern
folgen. Verwende lediglich ein anderes Entwicklungswerkzeug,
einenanderenEditor.ProgrammcodeundErgebnisbleibengleich.Fr
Mac-undLinux-NutzerempfehleichAptanaStudio.Dufindestdieses
ToolaufderCDimOrdnerprogramme/aptana.AptanaStudioistsehr
leistungsfhig, bentigt dafr aber einen schnellen Rechner. 24
Vorwort Vorwort Wo gibts Hilfe, wenn es mal klemmt? Melde dich
einfach! Fr dieses Buch hat der Autor eine eigene Serviceseite
imWebeingerichtet.Surfezuwww.phpkid.de!HierfindestdueinForum, wo du
mit anderen Lesern diskutieren und dir Hilfe holen kannst.
Weiterhin listen wir brandheie Tipps und Tricks zu Dienstleistern
auf und informieren dich zunderungennachdem Druck. Auerdemkannst
duFragenstellen, die wir dir dann hoffentlich schnell beantworten.
Und du findest evtl. Feh-lerberichtigungen, denn auch Autoren sind
nur Menschen.
DuhastLustbekommenaufmehr?DannlegenwirdirdieFortsetzung
diesesTitelsnamensPHPundMySQLPraxisbuchfrKids(2.Auflage)
sehransHerz.DabeistehenaufdemProgramm:einkomplettesForum
mitUserverwaltung,dasSchreibeneinesRSS-Feedreaders,einkomfor-tablesFotoalbumundsogardasPlanenundProgrammiereneinesCon-tent-Management-Systems.Ganznebenbeischnupperstdusogarnoch
ein wenig Objektorientierungsluft und lernst, wie man richtig guten
Co-de schreibt. Gleicher Autor, gleicher Verlag, gleicher
Preis.Voil-jetztgehtesaberlosmitPHPundMySQL!Dochzuvorlernstdu noch
etwas HTML und CSS. Gleich auf den nchsten Seiten. Einverstanden?
25 1 Deine coole Homepage mit HTML Auf los gehts los! Wenn du mit
PHP programmieren willst, musst du HTML knnen. HTML ist schlielich
die Sprache, mit der eine Homepage geschrie-ben wird. Ohne HTML
macht PHP keinen Sinn. Du kannst noch kein HTML?
Nichtschlimm!IndiesemKapitellernstdudasWichtigstezumThema. Glaube
mir, es ist kinderleicht. Na ja, fast Du kannst schon HTML? Umso
besser! Mache trotzdem mit, denn in diesem
KapitelzeigeichdireinsuperProgramm:einensogenanntenHTML-und
PHP-Editor. Und ich verrate dir, wie du dein Projekt am besten
organisierst.In diesem Kapitel lernst du, $wie man eine HTML-Seite
erstellt $wie man berschriften und Abstze notiert $wie man Grafiken
in die Seite einfgt und mit Farben arbeitet $wie man Querverweise
setzt, die Hyperlinks $wie man Tabellen erstellt $wie man der Seite
mit Style Sheets ein schickes Layout verpasst Doch bevor es
losgeht, besprechen wir gleich zu Beginn ein paar Dinge, die
verdammt wichtig sind. 26 Deine coole Homepage mit HTML Kapitel
1Richte dir einen Projektordner ein! Ordnung ist das halbe Leben,
geht dir dieser Spruch auch so auf die Nerven
wiemir?DabeikanneinwenigOrdnungimNachhineinvielZeitsparen! Und
schon sind wir beim Thema Ordner. Richte dir zuerst einen
Projektord-nerfrdeineExperimenteein.Diesennennenwirphpkidundlegenihn
direkt unter der FESTPLATTE C: ab! Projektordner phpkid einrichten
Wie geht das? Ganz
einfach!>StartezuerstdenWindowsExplorer.DiecoolsteMethode:Duhltst
die Taste [Win] auf deiner Tastaturgedrckt.Das ist inderRegel die
zweiteoderdritteTastevonlinksinderunterenReihe.Duerkennst
sieamWindows-Logo.Jetzttippstdumutigundunverzagtein[E]
wieechteinfachoderwieExplorer.Zackschonstartetdas
Ordner-Verwaltungs-Programm namens Windows Explorer. >Was nun,
sprach das Huhn? Achte darauf, dass dein Laufwerk C: (die
Festplatte) markiert ist. Klicke also auf der linken Seite auf das
Sym-bolfrdeineFESTPLATTE.EsbefindetsichunterhalbdesSymbols COMPUTER
(Windows 7 bzw. Vista) bzw. ARBEITSPLATZ (Windows XP). >Und nun
richtest du deinen Ordner ein. In Windows 7 klickst du ein-fach auf
die Schaltflche NEUER ORDNER: In Windows Vista gibt es diese
praktische Schaltflche leider noch nicht.
DortklickstduaufdenMeneintragORGANISIERENundwhlstdenMe-npunktNEUERORDNER.InWindowsXPundWindows2000istderWeg
nochetwaslnger.DuklickstimMenDATEIaufdenBefehlNEU.Ein weiteres Men
klappt zur Seite. Whle hier den Befehl ORDNER. 27Richte dir einen
Projektordner ein!
>JetzterscheinteinPlatzhalter-OrdnermitderBezeichnungNeuer
Ordner. Dieser Platzhaltername ist markiert. Du kannst ihn also
direkt berschreiben.Klickenochnirgends,sonderntippeeinfachlos.Tippe
den Namen des neuen Ordners, im Beispiel phpkid. >Geschafft?
Dann drcke einfach [Enter]! Fertig ist der neue Ordner. Suche
docheinmaldeinenneuenOrdner.Du findestihn im linkenBereich
desWindows-Explorers.ErwirdalphabetischzwischendenanderenOrd-nern
einsortiert. Sollte dein Ordner nicht gleich zu sehen sein, ist das
nicht schlimm.DerWindowsExploreristmanchmaleinlangsamerGeselle,er
vergisstdasAktualisierenderAnsicht.Hilfetwasnach,drckeaufdie
Funktionstaste [F5] auf deiner
Tastatur.Hoppla,duhastdichbeimOrdnernamenverschrieben?OderderOrdner
wurde an der falschen Stelle eingerichtet? Kein Problem! Wenn du
einen Ordner umbenennen willst, klickst du ihn kurz an. Drcke nun
die Funk-tionstaste[F2].SchonffnetsichderOrdnernameunddukannstihn
korrigieren. Besttige die Umbenennungsaktion wieder mit [Enter].
Na-trlichlsstsichsoeinOrdnerauchlschen.Markiereihnunddrcke die
Taste [Entf] auf deiner Tastatur. Schon ist der Ordner weg! Einen
weiteren Unterordner einrichten
Weildassogutgeklappthat,machenwiresgleichnocheinmal.Erstelle
diesmaleinenUnterordnernamenshtml.DieserOrdnersolldirektunter-halbvonphpkidentstehen.DiesenneuenOrdnernutzenwirfrunsere
ersten Gehversuche mit HTML. >Markiere den Ordner phpkid im
Windows Explorer. Klicke ihn also im linken Bereich an.
>WhlenunwiederNEUERORDNER(ORGANISIEREN|NEUERORDNERbzw.DATEI|NEU|ORDNER)
und richte den Unterordner html ein.
GewhnedirbeiderNamensgebungfrOrdnerundDateiengenerelle
Kleinschreibungan.DieOrdnersollenalsophpkidundhtmlundnicht Phpkid
und Html heien. Das ist deshalb so wichtig, weil der Webserver
(Homepage-Computer)spterganzpingeligzwischenGro-undKlein-schreibung
unterscheiden wird. Und wenn du hier etwas vermischst, wird die
Homepage im Web nicht oder nicht richtig angezeigt. Bei genereller
Kleinschreibung kann hier jedoch nichts anbrennen. Okay? 28 Deine
coole Homepage mit HTML Kapitel 1 Bitte blende die Dateiendungen
ein! rgert dich auch, dass du unter Windows die Dateiendungen
normalerwei-se nicht siehst? Jede Datei hat ja eine typische drei-
bis vierstellige Endung,
dienacheinemPunktandeneigentlichenDateinamenangehngtwird.
Mit.dockennzeichnetmanWord-Dateien,.txtstehtfrTextdateien, .html fr
HTML-Dateien und .php fr PHP-Dateien. Normalerweise siehst du diese
Endungen nicht. Das ist sehr rgerlich, denn wir brauchen sie! Fr
unseren Kurs musst du die Dateiendungen unbedingt eingeschaltet
haben! >Rufe den Windows Explorer auf. Wie ging das noch? Halte
dafr bei-spielsweisedie[Win]-TasteaufdeinerTastaturgedrcktundtippe
kurzein[E].WhlenunimMenORGANISIERENdenBefehlORDNER UND
SUCHOPTIONEN. (Windows XP: EXTRAS|ORDNEROPTIONEN.)
>Geschafft?DasDialogfensterOrdneroptionenerscheint.Geheins
Register ANSICHT, es ist das zweite Register.>Suche nach einer
Option, die je nach Windows-Version folgenderma-en heit:
Erweiterungen bzw. Dateinamenerweiterungen bei bekann-ten
Dateitypen ausblenden. Sie ist abgehakt. Nimm das Hkchen weg!
>BesttigedeineEinstellungendurchKlickaufOK.Nunsiehstdubei
allenDateinamenauchdietypischeEndungundweitgenau,um welchen
Dateityp es sich handelt. Nimm das entsprechende Hkchen weg, klicke
es einfach an! HTML auf Knopfdruck mit PSPad
Vorhangauf,dieShowbeginnt.Nele,TimundBuffi,Jan(Programmautor)
undich(Buchautor)prsentieren:PSPad,denfreienCode-EditorfrWin-dows!EshandeltsichpraktischumeinProgrammzumSchreibendeiner
Homepage. Neben HTML beherrscht PSPad aber auch PHP und andere
Pro-grammiersprachen.GeschriebenhatdastolleProgrammJanFiala,die
Homepage von PSPad findest du unter www.pspad.com. 29HTML auf
Knopfdruck mit PSPad So wird PSPad installiert PSPad liegt auf der
CD fr dich bereit! Die Installation ist kinderleicht und erfolgt
Schritt fr Schritt per Setup Wizard (Installationsassistent).
>StartedenWindowsExplorer,z. B.durchGedrckthaltenvon[Win]
(dieTastemitdemWindows-Logo)undkurzemTippenvon[E].
SchaueindenlinkenBereichdesWindowsExplorers.Gehezum
LaufwerkfrdieCDundhangeledichdurchbiszumUnterordner
programme/pspad.
>HiersiehstdudieDateipspad454inst_en.exe.Doppelklickeauf diese
Datei. Je nach Windows-Version erscheinen erst warnende
Dia-logfenster, die du besttigen musst. Klicke z. B. auf AUSFHREN
bzw. JA. >Geschafft? Das Fenster Welcome to the PSPad Editor
Setup Wizard ist erschienen? Prima! Folge den Schritten der
Installation. >Klicke auf NEXT, um zum nchsten Bildschirm zu
gelangen. Klicke vor I
accepttheagreement.NunklickstduerneutaufdieSchaltflche NEXT und
hangelst dich Schritt fr Schritt durch die gesamte Installa-tion!
>KlickealsoimmerwiederaufNEXT.DieVoreinstellungengehenin
Ordnung, die kannst du stets
bernehmen.>NEXTverschwindet,dieSchaltflcheINSTALLerscheint?Dannhastdu
eineweitereEtappeaufdeinemWegerreicht.KlickeaufINSTALL jetzt
endlich wird das Programm auf deiner Festplatte eingerichtet!
>KlickezumSchlussaufFINISH.DasProgrammstartetganzautoma-tisch
und zwar auf Deutsch! Wenn du das entsprechende Hkchen im letzten
Schritt belassen hast, legt
PSPadautomatischeineVerknpfungaufdemDesktopan.Auerdemer-scheintesalsProgrammeintragindersogenanntenSchnellstartleiste
rechts neben der START-Schaltflche! Das ist wirklich genial! 30
Deine coole Homepage mit HTML Kapitel 1 Eine HTML-Datei erstellen
PSPad ist gestartet? Jetzt erstellst du im Handumdrehen deine erste
HTML-Seite.DochvorhersolltenwirunsnochfrdierichtigeHTML-Variante
entscheiden. Ich schlage das klassische HTML 4 vor.
HastduschonetwasAhnungvonHTML?Fragstdudichauch,welches
dierichtigeHTML-Schreibweisesei?DieklassischeoderdieNeufor-mulierung
namens XHTML mit strengeren Regeln? Fakt ist, dass die
Ent-wicklungvonXHTMLalseigenstndigeSprachegeradeersteingestellt
wurde.AnHTML5dagegenwirdfleiiggewerkeltderKlassikerlebt
alsoweiter.ZwarwirdesauchvonHTML5wiedereinestrengere XHTML-Variante
geben. Aber eben nur als alternative Syntax. Wir blei-ben daher im
Buch bei der Schreibweise der bewhrten, klassischen Ver-sion 4.01
und zwar ohne X vor dem HTML. Und so erzeugst du in PSPad eine
Musterseite im klassischen HTML 4.01:
>WhleimMenDATEIdenBefehlNEU.DasDialogfensterNeuer-scheint.
Klicke auf die Registerzunge Neue Datei aus Vorlage erstellen.
>Scrolle zum Zweig HTML und klicke auf den Eintrag HTML 4.01
Transi-tional.KlickedanachaufBEARBEITEN,nichtaufOK.(OKwrdeeine neue
HTML-Seite in den Editor einfgen, die auf diesem Grundgerst beruht.
Doch das Grundgerst ist noch nicht ganz perfekt!) Klicke auf die
Schaltflche Bearbeiten, noch nicht auf OK.
>DuhastaufBEARBEITENgeklickt?Super!Jetzterscheintdasebener-whnteGrundgerst.UndzwardirektalsVorlage!Dukannstund
musst diese Grundgerst-Vorlage wunschgem ndern.31HTML auf
Knopfdruck mit PSPad Die HTML-Vorlage von PSPad anpassen
SosiehtesausdasHTML-Grundgerst.FrmeinenGeschmackgibtes
nocheinigeSchnheitsfehler.UndbevorwirdieeinzelnenZeilengenauer
betrachten, merzen wir diese Schnheitsfehler einfach aus.
Dievonmirgezeigten Zeilennummernsind beidirinPSPadnichtsicht-bar?
Whle ANSICHT/ZEILENNUMMERIERUNG.1 2 3 4 5 6Untitled 7 8 9 10 11
Soviel vorweg: HTML besteht aus Text, der durch sogenannte Tags
gesteu-ert wird. Jedes Tag steht in spitzen Klammern. Es gibt in
der Regel ein Tag
zumEinschaltenundeinszumAbschalten.DasAbschalt-Tagbekommt zustzlich
einen Slash (/) vorangestellt.Die Taste mit den spitzen Klammern
findest du links unten auf der Tasta-tur.Drcke[ musst du zustzlich
die []-Taste gedrckt halten. Die Dinge, die mich stren, habe ich
unterstrichen. Es sind zum Glck nicht viele. In Zeile 2 nderst du
das cs in de. (Es sei denn, du mchtest deine Webseiten auf
Tschechisch erstellen. Unser Programmautor Jan stammt aus
Tschechien, das ist der Grund fr cs.)Die Passage windows-1250 am
EndevonZeile4ersetzt dudurch utf-8.
UTF-8istderUniversalzeichensatz,derdieZeichenallerwichtigenSpra-chen
enthlt. Damit decken wir einen viel weiteren Bereich an Sprachen ab
als mit dem Windows-Zeichensatz. Schlielich ist Windows nicht der
Nabel der Welt! 32 Deine coole Homepage mit HTML Kapitel 1
Zeile5Achtedarauf,dassdasToolfenstersichtbarist(ANSICHT|TOOLFENSTER).
Wechsle ins Favoriten-Register, du erkennst es am Herz.
>KlickemitderrechtenMaustasteaufdasOrdner-Symbolundwhle den
Befehl Neuen Link hinzufgen.
>DasDialogfensterNeuenLinkhinzufgenerscheint.Schauerechts neben
das Feld Pfad / URL und klicke auf die Schaltflche mit den drei
Punkten. Suche den gewnschten Ordner heraus. >Nach Klick auf OK
ist der neue Link fertig eine praktische Verknp-fung zum gewnschten
Ordner! Lege dir so viele Verknpfungen an, wie du brauchst.
Werkzeuge und Suchfunktion Schau dir doch auch die pfiffigen
Werkzeuge von PSPad an. Du findest sie
imgleichnamigenMen.MirhatesnebenderschongetestetenFarbaus-wahlbesondersderCode-Explorerangetan.DiesesToolzeigtdirdieEle-mente
der aktiven Datei in einer baumartigen Struktur. Ausprobieren! Mein
zweitliebstes Tool heit Text-Diff:AktuelleDateivergleichen. So
kannst du zwei verschiedene Versionen eines Dokuments laden. PSPad
hebt die Unter-schiede farblich hervor. Auch die ausgefeilte
Suchfunktion bentige ich recht hufig, du findest sie
imgleichnamigenMen.MeinFavoritheitSuchen/ErsetzeninDateien. Damit
kannst du beispielsweise ganze Ordner durchsuchen. 64 Deine coole
Homepage mit HTML Kapitel 1Schlussbemerkung
Uff!DaswareineganzeMengeHTMLaufeinmal.GuteHTML-Kenntnisse sind
jedoch die Voraussetzung fr die PHP-Programmierung. Immerhin bist
du jetzt schon ein kleiner
HTML-Experte.BeimThemaHTMLhabenwirunsfrdieklassischeVersionHTML4ent-schieden,wobeiichschoninRichtungHTML5vordenke.Wirlassendie
strengere und weniger beliebte XHTML-Syntax auen vor. Du mchtest
tiefer in (X)HTML (und CSS) einsteigen und die modernsten
VersionenundneustenTechnikenkennenlernen?Dannempfehleichdir die
wunderbaren Bcher HTML fr Kids und CSS fr Kids von meinen
AutorenkollegenRobertAgularbzw.DavidSigos.Vorallemdasletztge-nannteBuchbietetdireinehervorragendeEinfhrunginschickesSei-tenlayout.Die
Beispieldateien findest du brigens auch auf der CD zum Buch. Schaue
in den Unterordner beispiele/kapitel01. Zusammenfassung
0DukannstmitdemPSPadblitzschnelldasGrundgersteinesHTML-Dokumentszaubern.WhleimMenDATEIdenBefehlNEUunddop-pelklicke
auf den entsprechenden Eintrag.
0DufgstmitdenentsprechendenTagsganzlssigberschriften(z. B.
)undAbstzeein.SetzedenentsprechendenTexteinfach innerhalb der Tags
ein. 0Duweit,wiedumitdemTageine
GrafikindeineHomepageeinfgst.ZiehedieGrafikdateieinfachaus der
Dateiliste des Toolfensters in dein HTML-Dokument. Passe die
Attri-bute und Werte des Tags dann wunschgem an.
0DukannstmitAufzhlungenundmitListen
mitHTMLerstellen.DunotierstbeliebigvieleListen-Eintrgezwischen .
0DuerstellstHyperlinksnachdemMuster Text fr Hyperlinks.
0DuschreibstHTML-TabellenmitdenentsprechendenTags , , und . 65Ein
paar Fragen 0Du erstellst externe CSS-Dateien und steuerst damit
das Aussehen dei-ner Homepage. Das sind Textdateien mit der Endung
.css. Hier notierst
dumitHilfevonAttributen,wiedieeinzelnenTagsformatiertwerden sollen.
Das Attribut fr die Schriftart heit z. B.
font-family.0DuarbeitestmitFarben,legstdieBreitefestmitHilfeeines
-Containers und dem Attribut width. 0Duweit,wie dumit den -Tags
undmit
Kontrollkst-cheneinUmfrageformularvorbereitenkannstundhastdenSUBMIT-Button
ausprobiert. Ein paar Fragen Und jetzt bist du an der Reihe.
Beantworte zuerst ein paar Fragen und lse dann ein paar Aufgaben.
Viel Spa und viel Erfolg! 1.Zwischen welchen Tags wird der
Kopfbereich des Dokuments notiert? 2.Wie heit der Farbname fr
kastanienbraun? Wie lautet der dazugeh-rige hexadezimale Farbcode
und wie die RGB-Syntax?
3.WiesehendieKommentarzeichenaus,dieinCSS-Dateienverwendet werden?
DieAntwortenzudenFragensteckenallesamtaufderCDzumBuch. Schaue im
Ordner fragen nach! und ein paar Aufgaben
1.SchaueindieSeiteindex.html.FgeunterderAufzhlungdeiner Hobbys eine
Linie ein. Welches Tag verwendest du dafr?
2.SetzeganzobenaufdieSeiteindex.htmleinenneuenAbsatz,und
zwarunterhalbvon.Fgedortei-nen Verweis auf die zweite Seite
umfrage.html ein. Schreibe als Link-text: Zur Umfrage. Setze ganz
oben auf der Umfrage-Seite (direkt unter ) ebenfalls einen Absatz
ein. Hier soll einen Link zurck verwei-sen. Dieser soll heien: Zur
Startseite. 66 Deine coole Homepage mit HTML Kapitel 1
3.PrfedeineSeitenaufKorrekt-heit.SurfedazuzumPrfdienst
desW3C.(Dahintersteckendie Leute, die HTML erfunden
haben.)Surfezuhttp://validator.w3.org.
GeheinsRegisterValidatebyFile Upload.KlickeaufdenButton
DURCHSUCHEN.Suchediezupr-fende Datei heraus und klicke auf
CHECK.DiePrfung funktioniertnurrichtig,wenn die Dateieine
Dokumenttyp-Deklaration besitzt. Du darfst diese erste Zeile mit
Zuerstachtedarauf,dasskeinProgrammaufdeinemRechneraktiv ist. Das
knnte die Installation stren. Gehe nun in den entsprechen-den
Ordner fr XAMPP auf der CD, und zwar in programme/xampp. 77Ganz
einfach: Webserver selbst installiert! Der Doppelklick startet die
Installation.
>DoppelklickeaufdieDateixampp-win32-1.7.3.exe.(Fallsdudie neuste
Version von XAMPP aus dem Internet geladen hast, lautet der
Dateinamevielleichtschonxampp-win32-1.7.4.exe.)Eshandelt sich um
ein selbstauspackendes RAR-Archiv. Die Installation wird
au-tomatischgestartet.UnterWindowsVistaund7musstduvorherin aller
Regel noch eine Sicherheitswarnung besttigen. >Das Fenster XAMPP
for Windows erscheint. Schaue zum Feld Destina-tionFolder. Steht
bei dir auch C:\ in diesem Feld? Super! Hier sollte auf jeden Fall
der Laufwerksbuchstabe hin wobei das Laufwerk auch ein USB-Stick
oder eine externe Festplatte sein darf! Der Installationspfad
(Destination Folder) sollte im Beispiel C:\ lauten.
>KlickeaufINSTALLundgeduldedichdieDateienwerdenentpackt! Das
kann eine ganze Weile dauern. Im Ergebnis entsteht unter C: bzw.
dem von dir gewhlten Laufwerk ein Extraordner namens xampp. (Da-von
kannst du dich gleich nach erfolgreicher Installation berzeugen.)
78 Installiere deinen eigenen Webserver! Kapitel 2
>NunerscheinennacheinandermerkwrdigeschwarzeSetup-Bild-schirme!DortmusstdujeweilsdenaktivenBuchstaben(ywieyes
bzw. n wie no) mit [Enter] besttigen bzw. ggf. wunschgem anpas-sen,
damit der Einrichtungsprozess abgeschlossen werden kann.
Shortcuts(Verknpfungen)aufdemDesktopund im Startmensind
einefeineSache. Das y fr yes ist voreingestellt. Besttige mit
[Enter]! >Drcke jetzt immer wieder auf [Enter], um die Fragen zu
besttigen. Aneiner Stellewirstdu gefragt:
ShouldImakeaportableXAMPPwith-outdrive letters? Wenn du XAMPP nur
auf der lokalen Festplatte instal-lierst, knntest du das n fr no
eigentlich belassen. Soll XAMPP jedoch als portable (tragbare)
Version auf einem USB-Stick oder einer tragbaren
Festplatteeingerichtetwerden,darfst dukeine
driveletters(Laufwerks-buchstaben)zulassen.AberauchaufderlokalenFestplatteentscheide
ich mich dagegen. So kann ich XAMPP immer schnell mal mitnehmen.
EinfachdenXAMPP-OrdnernachtrglichaufdenUSB-Stickkopieren und direkt
am Computer von Freunden nutzen! Ist doch super, oder? Fol-ge
meiner Empfehlung und tippe an dieser Stelle vorher auf alle Flle
ein y fr yes. Drcke erst dann auf [Enter].
>Esgehtweitermitdem[Enter],[Enter]umdienchstenbeiden Fenster zu
besttigen. Am Schluss landest du bei dieser Auswahl: 79Ganz
einfach: Webserver selbst installiert!
>Tipperuhigersteinmaleinxfrexit.DurchDruckauf[Enter]ver-lsst du
das Setup-Skript und kannst dich in Ruhe umsehen. Apropos
installiert: XAMPP hinterlsst dabei keinerlei Spuren. Keine
Eintr-geinirgendwelchenRegistrierdatenbanken,keinnichts!WennduXAMPP
lschen mchtest, lschst du einfach den kompletten Ordner xampp!
(Oder du rufst die Datei uninstall_xampp.bat aus dem xampp-Ordner
auf.) So startest du XAMPP
DumchtestXAMPPstarten?UnddamitdenApacheWebserver,PHP, MySQL und
phpMyAdmin? Kein Problem! Wozu gibt es denn das neue
Ver-knpfungssymbolaufdemDesktop?DoppelklickeeinfachaufdasSymbol
XAMPP Control Panel bzw. rufe diesen Eintrag ber das Startmen auf.
Das geniale XAMPP Control Panel startet. Damit zndest du nun den
Apa-che-WebserverunddenMySQL-Datenbankserver.Dafrbentigstdunur
diebeidenoberenSTART-Schaltflchen.Klickezuerstaufdenobersten
START-Knopf,denrechtsnebenApache.WarteeinpaarSekunden.Whle danach
den START-Knopf darunter, den rechts neben MySQL. Starte den
Apache-Webserver (oberstes Modul) und MySQL (zweites Modul von
oben) jeweils durch Klick auf die daneben angeordnete
START-Schaltflche. Der Text Running erscheint und die
START-Schaltflche verwandelt sich in eine STOP-Schaltflche.
NachKlickaufdiejeweiligeSTART-Schaltflchemeldetsichgegebenen-fallseinwarnendesFensterdeinerFirewall.DasgehtinOrdnung,Win-dows
passt schlielich auf. Erlaube je nach Firewall den Zugriff bzw.
Ein-satz des Webservers und von MySQL in deinem lokalen Netz. 80
Installiere deinen eigenen Webserver! Kapitel 2
Nanu,esgibtProblememitXAMPP?Achtedarauf,dasskeinkonkurrie-rendes
Webserver-Programm aktiv ist. Unter Windows 2000 bzw. XP
Pro-fessionalknntedasder InternetInformationServersein.Den darfstdu
nichtaktivieren,dadieserdenApache-Webserverbehindernwrde.
AuchdasTelefonierprogrammSkype(www.skype.com)musstduggf.
herunterfahren,daessichoftnichtmitXAMPPbzw.demlokalenApa-che-Webserver
vertrgt. Es kann auch sein, dass eine lokale Firewall oder
einimHintergrundarbeitenderVirenscannerdafrsorgt,dassXAMPP
nichtrichtigluft.AuchdieaktuellenBrowserprsentierenggf.alle
mglichenSicherheitsabfragenundWarnungen,ehesiedichanXAMPP
heranlassen. Im Zweifelsfalle gilt: Versuch macht klug! Trenne dich
wh-rendderArbeitmitXAMPPunbedingtvomInternetausSicherheits-grnden!SchalteerstdanndieFirewallausbzw.berwindedieSicher-heitsmechanismen
deines Browsers. So beendest du XAMPP
DumchtestdeinePHP-MySQL-XAMPP-Sitzungbeenden?Dannmusstdu
beideModuledurchKlickaufSTOPwiederherunterfahren.Schalteerst MySQL
ab und warte einige Sekunden. Stoppe danach den Apache-Webser-ver.
Der grne Text Running muss an beiden Stellen verschwunden sein.
Auch wenn du das Fenster des XAMPP Control Panel schliet das
Steu-erpultbleibtaktiv!EsnistetsichganzrechtsuntenimSystembereich
ein.DufindestesnebenderUhrzeit.EinDoppelklickaufdiesesSymbol
zaubert das Steuerpult hervor.
DumchtestnunauchdasXAMPP-Steuerpultbeenden?KlickeimXAMPP
ControlPanelaufdieSchaltflcheEXIT.DufindestsiealsuntersteSchalt-flche
in der rechten Reihe. Erst jetzt ist XAMPP wirklich inaktiv. 81Nur
noch etwas Handarbeit und fertig! Wo liegen die Dateien von XAMPP?
XAMPP hat nun alles installiert, Webserver, PHP, MySQL, phpMyAdmin
usw.
Fantastisch.DochwoliegendieganzenModule?XAMPPlegtdenApa-che-Webserver,PHP,MySQL,phpMyAdminusw.inUnterordnernunter
C:\xampp ab.0Den Apache-Webserver findest du unter C:\xampp\apache
0Die PHP-Dateien liegen unter C:\xampp\php 0MySQL findest du z. B.
unter C:\xampp\mysql
AuchandereModulewiePerl,MercuryMailServerundderFileZilla-FTP-Serverwerdeninstalliert.DieseKomponentenbentigenwirjedochnicht,
du kannst sie ignorieren. Was fr uns wichtig ist: Fr deine eigenen
Daten hat XAMPP den Ordner htdocs eingerichtet. Du findest dieses
Verzeichnis unter C:\xampp\htdocs. Merkedir
diesenOrdnergut!Nocheinmal
langsamundzumMitschrei-ben:Alles,wasdujetztPHP-miganstellenwirst,legstduabunter
C:\xampp\htdocs! Nur noch etwas Handarbeit und fertig! Hat alles
perfekt funktioniert? Probiere es aus! Teste, ob dein lokaler
Web-server funktioniert.
DieStartseitefrdeinenlokalenWebserverfindestdustetsunterder
Adressehttp://127.0.0.1.TippedieseAdresseeinfachindeinen Browser
ein. Falls dir diese Nummer zu kryptisch ist, kannst du dir auch
die Adresse http://localhost merken. Last but not least gibt es
noch einedritteMethode.KennstdudenNamendeinesPCs?Meinerheit z.
B.Monarch.Danntippeichhttp://monarchunddrcke[Enter]. Auch das geht
also, es fhren tatschlich drei Wege zum gleichen Ziel! 82
Installiere deinen eigenen Webserver! Kapitel 2
Wireinigenunsambestenaufhttp://localhost!TippedieseAdresse ein und
drcke [Enter]. Je nach Version von XAMPP siehst du nach Klick auf
den Link Deutsch diese oder eine hnliche Seite: XAMPP begrt dich
mit einer Begrungs-Seite.
DahinterverbirgtsichabernichtsweiteralseineStatus-undDemoseite, die
die Macher von XAMPP fr dich vorinstalliert haben.
Duwunderstdich,warumindiesemOrdnerschonsovieldrinsteckt?Das sind
vor allem Demo- und Beispielprogramme. Du kannst diese Dateien und
Ordner bedenkenlos lschen. Du traust dich nicht, das alles zu
lschen?DannhabeicheinenanderenTipp:BenennedenOrdnerhtdocsumin
htdocs_alt. Erstelle nun unterhalb von xampp einen neuen, leeren
Ordner namens htdocs. Auch das funktioniert! (Wenn du dich nicht
beim Ordner-namen verschrieben hast!)
NachdemDruckauf[Enter]willsichdeinPCstetsinsInternetein-whlen?
Versuche eine Option wie Offline bleiben. Whle z. B. den Be-fehl
DATEI|OFFLINEBETRIEB. Probiere es dann erneut. 83Testen: phpinfo()
auf localhost Testen: phpinfo() auf localhost Wunderbar, jetzt hast
du deinen eigenen Webserver. Teste doch einmal, ob alles
funktioniert. Zuerst prfen wir, ob unsere eigenen HTML-Seiten
ange-zeigt werden. Zuerst eine HTML-Seite Erinnerst du dich an
deinen Ordner html, den du unter C:\phpkid
einge-richtethattest?IchmeineunserkleinesProjektausKapitel1.Daskommt
uns wie gerufen, denn hier gibt es eine Datei index.html. Das ganze
Pro-jekt binden wir einfach zur Probe in unseren Webserver ein!
>KopierediesenOrdnerhtmlkomplettnachC:\xampp\htdocs.Der neue
Pfad muss also lauten C:\xampp\htdocs\html! >Rufe diese Seite
nun auf. Dazu tippst du http://localhost/html.
Wennallesklappt,wirddieimerstenKapitelerstellteSeite index.html
aufgerufen! Aber auch hier sind die Vorteile eines Webservers noch
nicht ersichtlich. Es
machtkeinengroenUnterschied,obdudieDateidirektvonPSPadbzw. dem
Windows Explorer aus startest, oder ber den Webserver abrufst. Die
Magie der index.html
DuknntestdieseDateiindex.htmlauchdirektdurchDoppelklickstar-ten.DaeseinereineHTML-Seiteist,machtdaskeinenUnterschiedzu-mindestvomErscheinungsbildher.Bemerkstduetwas?Wenndusieber
http://localhost/html ffnest, dauert das ein wenig lnger. Es
klappt: Aufgerufen wird die index.html aus dem Ordner html. 84
Installiere deinen eigenen Webserver! Kapitel 2 Schlielich muss der
Webserver die Anfrage (HTTP-Request) erst bearbeiten und die
passende Seite zurck zum Browser schicken.
Aproposhttp://localhost/html!Gezeigtwirddieindex.html,ob-wohldudiesenNamenberhauptnichtgetippthattest?DerEnglnder
wrdejetztsagenHowcome,wasistlos?Nun,eineindex.htmlwird
immerdannangezeigt,wenndudenentsprechendenOrdnernamenein-tippst.Wennkeineindex.htmlvorhandenist,reichtoftaucheineindex.htm
odersogareineindex.phpalsStartdatei.Dasistziemlichpraktisch.So
musst du nicht erst umstndlich http://localhost/html/index.html
tippen, da http://localhost/html gengt! und nun ein PHP-Test
UndnunfolgteinkleinerPHP-Test!DafrschreibstdudeineerstePHP-Datei.Diesenennenwirinfo.phpundlegensieindenOrdner
C:\xampp\htdocs.Richtig,diesmaldirektindenStammordnerdeines lokalen
Webs. Wie geht das? >Starte PSPad. Whle nun im Men DATEI den
Befehl NEU.
>BleibeimvoreingestelltenRegisterLeereDateierstellenunddoppel-klicke
auf PHP.
>EineDateiwirderzeugt,wirklichleeristsieallerdingsnicht.Dufin-dest
hier schon die PHP-Tags vor. Klicke in die leere Zeile zwischen
>Notiere folgenden Befehl: phpinfo(); >Vergiss nicht, die
Datei zu speichern. Zur Erinnerung: Wir wollten sie info.php nennen
(Endung .php!). 85Testen: phpinfo() auf localhost Achte unbedingt
darauf, die Datei inXAMPP zuspeichern.Und zwar im Ordner xampp,
Unterordner htdocs. Denn nur wenn sie in htdocs (oder einem
Unterordner von htdocs) liegt, wird PHP ausgefhrt. >Rufe die
Seite nun folgendermaen auf. Tippe in den Browser:
http://localhost/info.php
undbesttigemit[Enter].Wennallesgeklappthat,siehstdusolch ein oder
ein hnliches Bild: Das ist zum einen der Beweis, dass PHP
funktioniert. Zum anderen gibt dir
dieFunktionumfangreicheAusknfte.WelchePHP-Versionistaufdeinem
Systeminstalliert?WirarbeitenmitPHP5.3.1.WelchesBetriebssystem
wirdverwendet?WelcheEinstellungenwurdenvorgenommen?Frden Kenner ist
diese Anzeige eine wahre Fundgrube. Fr uns Grund, einen
Indi-aner-Freudentanz aufzufhren! Es funktioniert: PHP ist auf
deinem System korrekt installiert. 86 Installiere deinen eigenen
Webserver! Kapitel
2Duversuchst,dieinfo.phpdirektaufzurufen?Daswirdmisslingen.
Entweder du siehst den Quelltext. Oder Windows beschwert sich, weil
es mitdiesemDateitypnichtsanfangenkann.SptestensandiesemBei-spiel
merkst du, wie wichtig der Webserver ist. Erst der Webserver sorgt
dafr, dass die PHP-Anweisung hier die Funktion phpinfo()
ausge-fhrtwird.Wichtigzuwissen:DerPHP-Befehlwirdausgefhrt,aber
nicht angezeigt. Der Browser erhlt reinen HTML-Code
zugeschickt.Wenn dus nicht glaubst, mache den Test: Tippe noch
einmal die Adresse http://localhost/info.php. Whle nun im Browser
je nach Version
denBefehlSEITE|QUELLCODEANZEIGEN,ANSICHT|QUELLTEXTbzw.SEITENQUELL-TEXT
ANZEIGEN. Du wirst keine einzige Zeile PHP finden! Was du siehst,
ist der HTML-Quellcode, der durch die phpinfo() entstanden ist!
Noch ein Test: Funktioniert phpMyAdmin?
HattestduaufderursprnglichenXAMPP-BegrungsseitedenPunkt
TOOLSentdeckt?DortstecktauchphpMyAdmin,unserDatenbankverwal-tungsprogramm.Wirbraucheneszwarerstsptertrotzdemsolltestdu
jetzt schon testen, ob der Zugriff funktioniert! Ich empfehle dir,
dieses Tool nicht ber den Link, sondern stets direkt aufzurufen.
Dazu tippst du in die Adresse-Zeile des Browsers:
http://localhost/phpmyadmin
NormalerweisestartetphpMyAdminohneKommentar.Beidirerscheint eine
Dialogbox zur Eingabe von Benutzernamen und Passwort? Dann tippst
du als Benutzernamen einfach root, das Passwort-Feld jedoch lsst du
frei.
DassindbrigensdiegleichenDaten,dieduspterauchfrMySQLver-wenden
wirst: root und nichts. Schlussbemerkung Viel Theorie, ich wei.
Aber das war wichtig. Auerdem weit du jetzt, wo
duPlatzfrdeinePHP-Homepagebekommst.UnddubiststolzerBesitzer eines
eigenen lokalen Webservers. Und das ist doch schon allerhand! XAMPP
gibt es brigens auch fr Mac und fr Linux. Dort ist die
Vorge-hensweiseleideretwasanders.LiesdirdieentsprechendenAnleitungen
aufwww.apachefriends.dedurch.DubistMacianerundkommstmit XAMPP nicht
zurecht? Dann solltest du das schon erwhnte MAMP aus-probieren.
Dieses Tool bekommst du unter www.mamp.info. 87Zusammenfassung
Zusammenfassung
0Duweitjetzt,wozueinWebserverdient.HierliegendieSeiten.Der
Betrachter kann sie ber Eintippen der entsprechenden Webadresse
an-fordern. Diese Anforderung heit HTTP-Request.
0DukennsteinigeDienstleistermitPHP/MySQL-Untersttzung.Du kennstz.
B.MultiMania(vormalsTripodbeiLycos),einenwerbefinan-zierten
Anbieter einer kostenlosen PHP/MySQL-Homepage. 0Du weit, wie das
beste Webserver-Programm heit Apache Webser-ver. Es ist ein frei
verfgbares Programm. 0Wir haben den Apachen selber auf unserem
Rechner eingerichtet. Dabei
halfunseinInstallations-ToolnamensXAMPP.AngenehmerNebenef-fekt:JetztlaufenauchPHPundMySQLganzautomatischaufdeinem
heimischen Rechner. 0Du weit, wie du dein eigenes Web aufrufst.
Tippe http://localhost in die Adresse-Zeile des Browser. Drcke
[Enter]. 0DuhastamBeispielderFunktionphpinfo()herausgefunden,dass
einePHP-DateinurbeimAufrufberdenWebserverrichtigangezeigt
wird.Grund:PHPwirdvomWebserverausgefhrt.DerBrowserbe-kommt jedoch
reinen HTML-Code zugeschickt. Ein paar Fragen
1.KannstdubeiAnbieternwieT-OnlineoderAOLdeineHomepagemit PHP/MySQL
installieren?
2.WieheitdasProgramm,welchesdirdenApache-Webserver,PHP,
MySQLundnochvielmehraufdeinemheimischenComputereinrich-tet? 3.Unter
welchem Pfad legst du deine PHP-Dateien ab, wenn du den
Apa-che-Webserver mit XAMPP installierst hast? 4.Welche Endung hat
eine PHP-Datei? 5.Wozu brauchst du einen eigenen Webserver? 88
Installiere deinen eigenen Webserver! Kapitel 2 und eine Aufgabe
DieseAufgabewendetsichanWindows-Nutzer,die
mitPSPadarbeiten.Unddamitesnichtsoschwer wird, beginne ich mit
einem Trick.
DumchtestnochschnellereinHTML-GrundgerstinPSPadeinfgen? Klicke auf
den Pfeil rechts neben der NEU-Schaltflche (Sie heit
eigent-lichNEUEDATEIERSTELLEN)undwhleHTML.OderwhleDATEI|NEUund
bleibeimRegisterLeereDateierstellen.DoppelklickeaufHTML.Auch jetzt
wird ein HTML-Dokument im Standard 4.01 Transitional eingefgt sogar
mit verkrzter DTD. (Allerdings ohne lang="de" und utf-8.)Und nun
kommt endlich deine Aufgabe: Finde heraus, welche Vorlage sich
dahinterverbirgt.PassedieseVorlageandeineWnschean.Sorgealso
dafr,dassunserperfektesHTML-GrundgerstvonSeite32eingebunden
wird.MeinetwegenmitverkrzterDTDundgerneauchohneEinrckung der
Zeilen. (Damit die Einrckung von PHP besser zur Geltung kommt.)
Aber bitte dafr wieder mit CSS-Link von Seite 50. 89 3 Hallo echo
Hallo Welt
DiemhevollenVorarbeitensindgeschafft!DerWebserverluft.Hchste Zeit,
mit dem Programmieren richtig loszulegen. In diesem Kapitel lernst
du: $wie du mit PHP Daten ausgibst $wie du mit Variablen arbeitest,
den variablen Platzhaltern $wie du Zeilenumbrche setzt $wie du
Sonderzeichen maskierst $wie du Fehler erkennst und vermeidest 90
Hallo echo Hallo Welt Kapitel 3Daten ausgeben mit echo Gleich zu
Anfang stelle ich die wichtigste Sprachanweisung von PHP vor
echo.Undichversprechedir,esisteineAnweisungmitNachhall.Doch
vorherklrenwir,wiePHP-Dokumenteberhauptaufgebautsindundwo du die
PHP-Anweisungen notierst. Wie sind PHP-Dokumente aufgebaut? Die
PHP-Notation ist unkompliziert. Was musst du wissen? Nicht viel!
PHP-DokumentesindeigentlichnichtsweiteralsHTML-Dokumente.Sie
besitzen die Endung .php. Sie enthalten zustzlich Abschnitte mit
PHP-Code. Diese PHP-Abschnitte notierst du ganz einfach irgendwo
innerhalb des HTML-Quelltexts. Wo, ist im Prinzip fast egal.
Hauptsache du machst deutlich, dass es sich um einen PHP-Abschnitt
handelt. Wie kennzeichne ich meinen PHP-Code? Ganz einfach. Zu
Beginn des PHP-Teils notierst du Folgendes: Das wars schon. Das ist
die Form, die ich dir empfehle.Du knntest aber auch schreiben:
wobeidudanndieKurzformgewhlthttest.(Ichzeigeesdirdeshalb,
damitdudichnichtwunderst,wenndirdieseSchreibweisebeianderen
Skriptenbegegnet.)WirbleibenbeiderLangform,dasiezu100%dem
Standardentspricht.WarumistdieKennzeichnungdesPHP-Abschnitts
eigentlich so wichtig?91Daten ausgeben mit echo
ErstdurchdieseKennzeichnungweiderWebserver,dassessichum
PHP-Abschnitte handelt. Denn diese Abschnitte werden nicht einfach
so andenBrowsergeschickt.Siewerdenvorherinterpretiert,ausgefhrt.
Vergissnicht:DerBenutzerbekommtnureineHTML-SeitemitHTML-Anweisungen
zugeschickt. Den PHP-Code bekommt er nie zu Gesicht! Hallo Welt
dein erstes Skript Unter Programmierern ist es eine hbsche
Tradition, die Welt am Anfang miteinemkrftigen
Hallozubegren.Schreibeein Skript,welchesden
TextHalloWeltausgibt.DasDokumentsollhallo.phpheienundin unserem
htdocs-Ordner unter C:\xampp abgelegt werden.
>ErzeugemitdeinembevorzugtenCode-Editor(PSPad,AptanaStudio
usw.)eineneue,leereHTML-Datei.InPSPadwhlstduDATEI|NEU, gehst
insRegisterNeueDateiausVorlageerstellen unddoppelklickst auf die
Vorlage HTML 4.01 Transitional. (Falls du die Aufgabe von Sei-te 88
gelst hast, gibt es auch einen schnelleren Weg.)
>NunerscheintdasschonbekannteGrundgersteinerHTML-Datei. Bereite
zwischen einen PHP-Bereich vor. Kleide die
PHP-Tagsauerdemdurchein.Damitsorgstdudafr,dass
derTextinnerhalbdesobligatorischenHTML-Blockelementsnotiert wird.
Der Bereich innerhalb von sieht dann so aus: >Notiere zwischen
den PHP-Tags jetzt folgende PHP-Zeile: echo "Hallo Welt!";
>Nichtvergessen:SpeicheredeinDokument.WhledenNamen hallo.php.
Denke an den korrekten Speicherpfad: xampp/htdocs! PSPad bietet dir
beim Speichern den Dateityp HTMLDocument an. Doch wir brauchen PHP.
Stelle daher im Listenfeld bei Dateityp vorher Alle Da-teien (*.*)
ein. Notiere dann den Dateinamen im Dateiname-Feld. 92 Hallo echo
Hallo Welt Kapitel
3DieSprachanweisungechosorgtdafr,dassdieentsprechendenDaten
ausgegeben werden. Die auszugebenden Daten notierst du innerhalb
von Gnsefchen. Die Zeile wird am Ende durch ein Semikolon
abgeschlos-sen. Quelltext fr die hallo.php
SosiehtdasgesamteBeispielaus.IchhabedenTitelinderviertenZeile
angepasstundauerdemeinebeschreibendeberschrifteingefgt.Aber Hallo
der eigentliche PHP-Teil ist nur ganz kurz: Hallo-Welt-Skript
Hallo-Welt-Skript Du mchtest auch mit einer externen CSS-Datei
arbeiten? Damit die
sechs-teZeileimQuelltextSinnmacht?Dannvergissnicht,dassdudieDatei
phpkid.cssebenfallsindenOrdnerhtdocskopierenmusst.Sonstwer-den
deine Stile nicht angezeigt! Teste dein Dokument mit dem Webserver
Sicherbistduneugierig,oballesfunktioniert.RufedeinDokumentim
Webserver auf. Da du es direkt im Wurzelordnerhtdocs gespeichert
hast, istdasganzeinfach.Tippehttp://localhost/hallo.php unddrcke
auf [Enter]. Wenn alles geklappt hat, msstest du folgendes Bild
sehen: 93Daten ausgeben mit echo Der PHP-Code wird interpretiert:
Der Browser gibt den Hallo Welt-Text aus. Hats funktioniert?
Herzlichen Glckwunsch! Huch, bei dir gibt es eine Fehlermeldung?
Oder der Text wird nicht ange-zeigt? Beachte, dass die Anzeige nur
funktioniert, wenn du die Seite ber den Webserver startest. Das
direkte Aufrufen mit Doppelklick fhrt dazu,
dassderPHP-Abschnittnichtinterpretiertwird.Kunststck,wenndu den
Webserver umgehst? Weitere Fehlermglichkeiten bespreche ich ein
paarSeitenweiterhintenimAbschnittFehlermeldung.Also,coolblei-ben!
PSPad: Raffinierte Farbhervorhebung Mal was anderes: Ist dir
eigentlich die interessante farbliche Darstellung in
PSPadaufgefallen?SowohldieHTML-alsauchdiePHP-Befehlewerden
durchunterschiedlicheFarbenoptischguthervorgehoben.Dafrsorgtder
HTML multihighlighter eine raffinierte Farbhervorhebungsautomatik.
Stelle zur Probe einmal einen anderen Highlighter ein. Dazu klickst
du ein-fach auf den Text HTML multihighlighter aus der Statuszeile.
Nun erscheint Der HTML Multihigh-lighter ist automatisch aktiv. Du
erkennst es an der entsprechenden Anzeige in der Status-zeile. 94
Hallo echo Hallo Welt Kapitel 3
einDialogfensterundzeigtdireineAuswahlvielerandererFarbhervorhe-bungs-Module.ProbieredocheinmaldieEinstellungHTML.Sowirdnur
derHTML-Codefarblichhervorgehoben.DukannstdenFokusaberauch
ausschlielich auf PHP
legen.DumusstdenHighlighterabernormalerweisenichtvonHandwhlen.
PSPaderkenntdenDateitypautomatischanhandderEndungeinerDatei. Rufe
doch einmal die phpkid.css auf und prfe, welcher Highlighter
ge-whlt ist. Richtig: Cascading Style Sheets. Variablen: Mein
rechter, rechter Platz ist leer
DieWelthabenwirschonbegrt.Wunderbar!RichtenwirunserAugen-merk
deshalb auf die nchste Umgebung: Auf Katja, Leon, Peer, Manja und
aufwenauchimmer.SchmettereeinemdieserliebenMenschenebenfalls einen
freundlichen Gru entgegen. Bleiben wir im Beispiel einfach bei
Katja. Begre sie mit PHP! Erstelle ein
neuesPHP-Dokument.Nenneeskatja.phpundlegeeswiederinden
Ordnerhtdocs.AlsTitelundberschriftschlageichPersnlicheBegr-ung mit
Variablen vor. Doch was sind Variablen? Was sind Variablen?
VariablensindPlatzhalter!EssindSpeicherstellenimHauptspeicherdes
Rechners. Stell dir eine Variable einfach als Behltnis vor. Es ist
ein Behlt-nis,welchesdirfrdieDauerderProgrammausfhrungzurVerfgung
steht. Was du hineinpackst, bleibt dir berlassen. Du kannst den
Inhalt der Variablen beliebig ndern und erweitern. Auch den Namen
des Behlters selbst kannst du frei whlen. Na ja, fast frei
zumindest. Die Namen von Variablen beginnen immer mit einem
Dollarzeichen.
Ver-wendekeineUmlaute,Leer-oderSonderzeichen!Sowre$eimerein
erlaubter Variablenname, nicht aber $meine schssel. Der Unterstrich
(_) ist jedoch gestattet. Er dient oft als Ersatz fr das verbotene
Leerzei-chen. So wre $dein_name eine wunderbare Variable. Selbst
kurze Vari-ablenwie$ioder$kkannstduverwenden.Weiterhingilt:Gro-und
Kleinschreibungwerdenunterschieden.Sosind$vornameund
$VornamezweiunterschiedlicheVariablen.(DamitsolcheProblemegar nicht
erst auftreten, rate ich zu genereller Kleinschreibung!)
95Variablen: Mein rechter, rechter Platz ist leer Beachte
zustzlich: Einige in PHP reservierte Wrter drfen nicht als
Va-riablennameverwendetwerden.DassindWrterwiewhile,if, switch, for
usw. usf. Auerdem ganz wichtig: Beginne Variablennamen nie mit
einer Zahl. Nicht funktionieren wird ein Name wie $68name. (In der
Variablen selbst sind jedoch Ziffern gestattet.) Der Platzhalter
$vorname Fr unser Katja-Beispiel habe ich mir die Variable $vorname
ausgedacht. Dieser muss ich nur noch einen Wert zuweisen. Im
Beispiel soll es der Na-me Katja sein. Wie mache ich das? So:
$vorname = "Katja";
DieVariableselbststehtlinks.DanachfolgteinsogenannterZu-weisungsoperator.DannnotiereichdeneigentlichenWertdesVariablen-Platzhalters.Unddieserbefindetsichrechts,getreudemMottoMein
rechter, rechter Platz ist leer. Warum notiere ich den Namen Katja
in Gnsefchen? Weil es sich um
Texthandelt.IndiesemZusammenhangsprichtmanvoneinemsoge-nannten
String. Strings werden stets im Gnsefchen notiert. Bei Zah-len
dagegen brauchst du keine Gnsefchen zu setzen. Klar? Der gesamte
Quelltext des PHP-Bereichs sieht so aus. Denke an das Semikolon am
Zeilenende. Jede Zeile wird in PHP in der Regel durch ein Semikolon
abgeschlossen! Hallo Katja! So sieht mein Beispiel aus. 96 Hallo
echo Hallo Welt Kapitel 3
DasBeispielfindestduaufderCDimOrdnerkapitel03.Schaueindie Datei
katja1.php. Wie funktioniert das Skript?
Ganzeinfach!IndererstenZeiletauchtdieVariable$vornamedaserste Mal
auf. Du weist ihr gleich den Wert Katja zu. Doch warum steht Katja
in Gnsefchen? Bei Katja handelt es sich um Text. Und Text
entspricht dem
sogenanntenDatentypString.DasmussdurchGnsefchenverdeutlicht werden,
denn Strings mssen stets in Gnsefchen stehen. Neben dem Datentyp
String kennt PHP noch den Datentyp Integer. Die-ser Datentyp steht
fr eine normale Ganzzahl wie 5 oder 9834. Als
wei-terenDatentypgibtesinPHPdenDatentypFloat(Kommazahl).Spter
lernstdudenTypBooleanfrWahrheitswertewietrueoderfalse kennen. Wie
du siehst, sind es alles in allem nur wenige Datentypen. Da
PHPdieDatentypenautomatischerkennt,musstdudichdarumnicht weiter
kmmern. (Der Fachmann sagt: Die Variablen sind nicht typisiert.) In
Zeile 1 hast du die Variable also initialisiert, wie der Profi
sagen wrde.
Nichtvergessen:DieZeilewirddanndurcheinSemikolonabgeschlossen.
NocheinmalimKlartext:WirhabenunsunsereneigenenBehlterna-mens
$vorname eingerichtet und dort den Text Katja hineingetan.
NunzurzweitenZeile.Hiersorgtdieecho-Anweisungnundafr,dass etwas
ausgegeben wird. Das Ausgabegut steht brigens wieder in
Gnse-fchen.AuchhierhandeltessichumText.Richtigerkannt:Eswirdein
String ausgegeben! Nach dem Wort Hallo und einem Leerzeichen hat
unse-reVariable$vornameihrengroenAuftritt.NunwirdderWertausgege-ben,
der in der Variablen gespeichert ist. Dieser lautet Katja. Fazit:
Im Browser erscheint der Text Hallo Katja! Ausgabe verschnern mit
HTML-Tags Die Ausgabe gefllt dir noch nicht? Verschnere sie
einfach! Du kannst im Zusammenhang mit echo ganz problemlos
HTML-Tags einsetzen. Die Ver-sion 2 des Katja-Beispiels sieht
folgendermaen aus: 97Wie Pech und Schwefel: Strings verketten
Wiedusiehst,kannstduganzproblemlosHTML-TagsindeinenAusgabe-Stringeinfgen.HierhabeichzustzlichmitdemTag-Paarfr
bold (fett) gearbeitet.
PassedeinBeispieldementsprechendan.Speichereundaktualisieredie
AnsichtimBrowser.DazudrckstdudieFunktionstaste[F5].Dasgeht
natrlichnur,wenndudieSeitehttp://localhost/katja.phpnoch aufgerufen
hast. Wiedu inderAbbildungsiehst,werdendieTagskorrekt
ausgegeben.Zum Vergleich habe ich den Quelltext der Webseite
aufgerufen. Das solltest du ruhig ebenfalls einmal probieren. Whle
dazu im Men ANSICHT den Befehl QUELLTEXT. Vergewissere dich! Im
Quelltext der Webseite ist tatschlich kein
PHP-Codemehrenthalten.DennschlielichsorgtderWebserverdafr,dass
PHPinterpretiert,ausgefhrtwird.UndderWebserverschickthaltden
HTML-Code Hallo Katja! an den Browser.
DasBeispielfindestduauchaufderCD,undzwarwiederimOrdner kapitel03.
Der Dateiname dieser Version lautet katja2.php. Wie Pech und
Schwefel: Strings verketten PHP ist einfach! Unter dem Motto
Freiheit fr Kettenhunde reden wir nun
berdieHundeleineinPHP.IchmeinedenVerkettungsoperatorPunkt. Doch
eigentlich brauchen wir ber diesen Punkt gar nicht so viele Worte
zu Der Beweis: Ansicht im Browser und im HTML-Quelltext. 98 Hallo
echo Hallo Welt Kapitel 3
verlieren.DergroeVorteil:StringsundVariablenmssennichtverkettet
werden. Zumindest gilt das in den meisten Fllen. Doch was ist mit
Verket-ten berhaupt
gemeint?UnterVerkettenverstehtmandasVerbindenvonzweiodermehrZei-chenketten.DazuwirdnormalerweiseeinsogenannterVerkettungsope-rator
verwendet. Als Verkettungsoperator dient in PHP der Punkt. Schaue
dir doch noch einmal unser Beispiel von eben an:
DusetztdieVariableeinfachsomirnichtsdirnichtsindieZeichenkette
hinein.DasspartvielSchreibarbeitundscheintfrunsganzselbstver-stndlich
zu sein. Ist es auch, denn diese raffinierte Technik ist eine
Spezia-litt von PHP.
BeiherkmmlichenProgrammiersprachengiltjedoch:EineVariabledarf
grundstzlich nicht so einfach innerhalb von Gnsefchen notiert
werden. Sie muss stets ohne Gnsefchen stehen. Das knnen wir mit PHP
nach-spielen.SchaudirzumVergleichdiesesvereinfachteBeispielan.Hierge-ben
wir nur den Wert aus der Variablen aus: Die Variable selber wurde
dank der Gnsefchen schon in der ersten Zeile
alsZeichenkettegekennzeichnet.Esistalsovlligberflssig,inder zweiten
Zeile noch Gnsefchen aufzuschreiben. Strings und Variablen
verketten? Meist unntig!
EineVariablewirdnormalerweisenichtinGnsefchengesetzt.DerRest
jedochmussalsZeichenkettegekennzeichnetwerden.UmVariableund
umgebendeZeichenkettenzuverbinden,bedientmansichinherkmmli-chen
Programmiersprachen der Technik des Verkettens. 99Wie Pech und
Schwefel: Strings verketten Warum? In diesen Sprachen darf die
Variable nicht einfach Teil des Strings sein. Sie muss mit dem
String verkettet werden. Was in anderen Program-miersprachen das
einzig Wahre ist, geht natrlich auch in PHP. Du kannst das Beispiel
von oben also auch in dieser Verkettungs-Variante aufschreiben.
Hier als die Version 3 des Katja-Beispiels: Interessantist
diezweite Zeile.DasErgebnisentsprichtderVersion2.Nur
dieSchreibweiseistkompliziertergeworden.DieVariablewirdzuihrer
linkenundrechtenjemitdemumgebendenStringverkettet.DieAusgabe
jedochndertsichnicht,eserscheintweiterhinderTextHalloKatja!im
Browser. Wie schon erwhnt: In PHP ist das umstndliche Verketten von
Strings mit Variablen in den meisten Fllen nicht ntig. Die Variable
vertrgt es, mit in das Gnsefchen-Boot genommen zu werden. Wir haben
uns in diesem
BeispielalsozuvielArbeitgemacht.DiesesZuvielanArbeitfindestdu zum
Vergleichen unter dem Namen katja3.php auf der Buch-CD. Strings
verketten manchmal gehts nicht ohne! Warumhabeich dirdiese
umstndlicheVariantehierschongezeigt?Nun,
inmanchenFllenkommstduumdasVerkettennichtdrumherum!Zum
BeispielbeiFunktionen.OderbeidensogenanntenFeldvariablen,denAr-rays.Einverstanden,dieArrayskennstdunochnicht.Dasverschiebenwir
alsoaufspter.DochmiteinerFunktionknnenwirunsandieserStelle schon
beschftigen.
Nixverstehen?NehmenwireinBeispiel!Angenommen,dumchtestden
markigenSatz:HalloKatja,willkommenin2010!ausgeben.Weiterhin wnschst
du, dass das Jahr automatisch erzeugt wird. (Wenn du das Buch
in2011oder2012liest,sollnatrlichauch2011bzw.2012ausgegeben
werden.)Wiegehtdas?MiteinerFunktion!Dunimmsteinfacheineent-sprechende
Funktion mit dem passenden Argument. 100 Hallo echo Hallo Welt
Kapitel 3ZumAusgebenderaktuellenJahreszahldientdieFunktiondate("Y")
oder auch date('Y'). Um genauer zu sein: Es ist eine Funktion mit
Ar-gument.DieFunktionselbstlautetdabeidate().DasArgumentist hierbei
"Y". Und nun noch ein paar Worte zu den Gnsefchen: Ob du
diedoppeltenoderdieeinfachenGnsefchenwhlst,isteigentlich
egal.DaduaberGnsefchennichteinfachineinanderverschachteln darfst,
musst du in manchen Fllen die Variante mit den einfachen Gn-sefchen
whlen. Entscheide also von Fall zu Fall. Schreibe die entsprechende
Zeile also folgendermaen: echo "Hallo $vorname, willkommen
in " . date("Y") . "!";
HierhabenwirmitHilfederVerkettungdafrgesorgt,dassdieFunktion
funktioniert.DasJahrwirdkorrektberechnet.(Vergleiche,wenndu magst,
mit dem Vorbild-Beispiel katja4.php auf der CD.)
AchtebeimVerkettenunbedingtdarauf,dassLeerzeichenmitberck-sichtigt
werden mssen. So musst du im Beispiel nach dem Wort in un-bedingt
ein Leerzeichen setzen, bevor du das schlieende doppelte Gn-sefchen
setzt. Da das Ausrufungszeichen jedoch direkt hinter der
Jah-reszahl notiert werden soll, ist dort kein Leerzeichen ntig.
Wrdest du auf die Verkettung verzichten, wre das Ergebnis grausam.
Bei der Variante mit doppelten Gnsefchen date("Y") wrde es
Fehlermel-dungenhageln.Warum?Weilduversuchthast,Gnsefchenineinander
zu verschachteln. Das solltest du dir also nicht antun.
AberaucheineVernderungvondate("Y")indate('Y')fhrtnicht zum
gewnschten Ergebnis. Zugegeben, das Gnsefchen-Problem haben wir
damit auf raffinierte Art gelst. Folgender Quellcode echo "Hallo
$vorname, willkommen in date('Y')!"; Die Jahreszahl wird
durch die Funktion date("Y") erzeugt. 101Kleine Zeilenumbruchkunde
fhrt jedoch zu dieser Anzeige: Die Funktion wird nicht ausgefhrt,
sondern im Klartext angezeigt.
Wasistpassiert?StattdieFunktionauszufhren,zeigtsiederWebserver
imKlartextan.Kunststck,dieFunktionwurdealsStringbehandelt,als
einfacheZeichenfolge.UnddasistnatrlichQuatschmitSoe,dennso kann sie
nicht funktionieren. Kleine Zeilenumbruchkunde
KennstdudenBreakdance?Oderdasberhmt-berchtigteenglische
Breakfast?AlleshatirgendwiemitBrechenzutun.BeimBreakdance
brichtmansichwomglichdieKnochen,beimenglischenBreakfast nein,
lassen wir das jetzt. Mit
einen HTML-Zeilenumbruch erzeugen Ich wollte eigentlich auf den
Break hinaus, auf den Umbruch. Ich zeige dir, wie du problemlos
einen Zeilenumbruch (
) in dein Dokument
zauberst.DafrerweiternwireinfachmalunserKatja-Beispiel.Ichgreifedafrauf
einefrhereFassungzurck,aufunsereVersion2:Hiernocheinmalder
PHP-Teil: Und jetzt ergnzen wir eine zweite echo-Zeile! Damit die
neue Zeile auch
wirklichaufdieneueZeilerutscht,fgeichzustzlicheinenHTML-Umbruch
ein. Dafr sorgt das Zeichen
. 102 Hallo echo Hallo Welt Kapitel 3
ImBrowsersiehtdasGanzesoaus,zustzlichhabeichberdenBefehl
SEITE|QUELLTEXTANZEIGEN(InternetExplorer)bzw.ANSICHT|SEITENQUELLTEXT
ANZEIGEN (Firefox) gleich den HTML-Quelltext aufgerufen.
BisherhabenwirnureinenUmbruchimBrowsererzeugt.ImHintergrund
findetjedochkeinZeilenumbruchstatt.DiesesBeispielkannstduunter dem
Namen katja-br.php von der CD abrufen. Umbruch im Editor: Der
Befehl \n wie new line Wie wre es zustzlich noch mit einem Umbruch
im Editor? Zugegeben, bei
zweiZeilenistdasvielleichtnichtsowichtig.Dochwennduhufigermit
echoarbeitest,entstehtirgendwanneineEndlos-ZeileimEditor.Wenn
duhinter denKulisseneinen Zeilenumbruchwnschst,verwendest duden
PHP-Befehl new line. Das entsprechende Zeichen heit: \n
VordemnwirdlediglicheinBackslashnotiert,einrckwrtsgelehnter
Schrgstrich. Das n selbst steht als Abkrzung fr new line. Und so
sieht das renovierte Beispiel aus, ich habe gleich zweimal mit \n
gearbeitet: Im Quelltext siehst du zwar das Tag
, aber keinen Zeilenumbruch.103Maskenball: Das Escape-Zeichen \
BeimAufrufimBrowserwirstdukeinenUnterschiedzurvorherigenVari-ante
feststellen. Nur der Blick in den Quelltext offenbart den kleinen,
aber feinen Unterschied: Vergleiche mit der Datei katja-nl.php von
der CD. Maskenball: Das Escape-Zeichen \
MitdemBackslashhateseinebesondereBewandtnis.Ebenhabeichdir
diesenschiefenKollegenimZusammenhangmitdemZeilenumbruch
vorgestellt.Mit\nwirdeineneueZeileimEditorerzeugt,duerinnerst
dich.IndiesemFallwirdunserStrich-KumpelalsozueinemSteuerbefehlfr
die Anzeige des Quelltextes. Die wichtigsten Umbruch-Steuerbefehle
Es gibt brigens noch mehr solcher interessanten Steuerbefehle. Die
wich-tigsten davon stelle ich dir in dieser Tabelle vor: \n\r\t
erzeugt neue Zeile erzeugt return (neuen Absatz) erzeugt
Tabulatorschritt (Sprung) Gut, damit haben wir die eine Bedeutung
geklrt. Doch hast du schon
ein-maldarbernachgedacht,wasdaskomischeZeichen\wohlsonstnoch
bedeuten mag? Mit \n erzeugst du die Zeilenumbrche auch im
Quelltext.104 Hallo echo Hallo Welt Kapitel 3 Backslash als
Escape-Zeichen Dieser Backslash (\) wird auch als Escape-Zeichen
bezeichnet. Denn
nor-malerweisedienterzumMaskierenbestimmterSonderzeichen,diedu
sonst nicht so einfach ausgeben darfst. So darfst du z. B.
Gnsefchen nicht einfach im Klartext in dein Skript
hineinschreiben.Gnsefchensignalisierenschlielich,dasseinString
beginnt bzw. endet.
DochwennduunbedingtdieGnsefchenbentigst?Vielleicht,weildu
einePassageinAnfhrungszeichensetzenwillst?DieeineMglichkeit lautet:
Ersetze die Gnsefchen durch einfache Gedankenstriche.
DieandereLsung:MaskieredieGnsefchendurchdasEscape-Zeichen. Das
Ergebnis im Browser sieht dann so aus: Vergleiche mit der Datei
escape.php auf der Buch-CD. Du musst auch das Dollar-Zeichen ($)
oder den Backslash (\) maskieren,
fallsdudieseZeichenperechoalsHTMLausgebenwillst.Dennauch diese
Zeichen haben normalerweise eine Sonderbedeutung. Nach dem Escapen
werden auch Gnsef-chen korrekt angezeigt. 105Keinen Durchblick?
Kommentare setzen! Keinen Durchblick? Kommentare setzen!
SteigstdunochdurchdeinenQuelltextdurch?Klardoch!Beizweioder drei
Zeilen ist das alles noch kein Problem! Dochwiesieht das
beiumfangreichenProjekten aus?Weit
dunachWo-chenimmernochgenau,wasdiegenialeZeile87macht?Undwozudie
schlieendegeschweifteKlammer in Zeile145dient? Der Mensch vergisst
(und auch Buffi-Hunde haben nicht gerade das beste Gedchtnis.)
Gewhnedirdeshalbfrhzeitigan,mitKommentarenzuarbeiten!Das sind
Bereiche, die nur von dir gesehen werden, aber auf den
Programm-ablauf keinen Einfluss haben. Kommentare helfen dir, den
PHP-Quellcode zu erklren. Einzeilige Kommentare
WillstduschnellmaleineneinzeiligenKommentarsetzen,verwendestdu den
Doppelslash //: // Das ist ein einzeiliger Kommentar
DukannstdiesenKommentarauchdirektandasEndeeinerZeilesetzen, z. B.
folgendermaen: $vorname = "Katja"; // Variable $vorname
initialisieren Kommentare ber mehrere Zeilen ziehen
WenndudagegenganzeRomaneschreibenmchtest,bietetdirPHP
auchdafreineMglichkeit.FassedeinemehrzeiligenKommentarezwi-schen
den Zeichen /* und */ zusammen: /* Das ist ein Kommentar, der sich
im Beispiel gleich ber mehrere Zeilen erstreckt und Platz im Buch
verschwendet */ 106 Hallo echo Hallo Welt Kapitel 3Also ich habe es
mir inzwischen angewhnt, ausgiebig mit Kommentaren zu arbeiten. Ich
kann dir diese Vorgehensweise nur empfehlen. Ein
ande-rerTrickbestehtdarin,deinSkripteinfachdurchLeerzeilenzugliedern.
Tipperuhigauf[Enter],umvorundnacheinerwichtigenZeileeine
Leerzeilezuerzeugen.Daserhhtdiebersichtenorm.DerPro-grammablauf
wird dadurch jedoch nicht gestrt. Fehlermeldung? Cool bleiben! Es
ist zum Auswachsen! Du tippst deinen Code und ldst das Dokument in
den Webserver? Eine Fehlermeldung taucht auf. Du korrigierst, ldst
erneut derFehlerbleibt.Achja,dasSpeichern.Duhattestvergessen,vordem
Aktualisierenzuspeichern.NeuladenundwassehendeinevomBild-schirmflimmern
beranstrengten uglein jetzt? Eine neue Fehlermeldung!
EsistmanchmalfastzumAuswachsenundesgibtMomente,dawrden
HundBuffiundBuchautorHankedenPCmitsamtMonitoramliebsten
gemeinsamausdemFensterwerfen.Dochhalt!Coolbleiben,lautetdie Devise.
Hier ein paar Tipps, wie du Fehler vermeiden kannst. Semikolon ; am
Zeilenende vergessen?
Vergissnicht,dasseineProgrammier-ZeileamEndemiteinemSemikolon
abgeschlossenwerdenmuss.DasvergesseneSemikolonisteinerderhu-figstenFehler.PraktischalleZeilenmssenmiteinemSemikolonabge-schlossenwerden.(NurinAusnahmefllenlsstdudasSemikolonweg.
Aber darauf kommen wir noch zu sprechen!)
SchaudirdieAbbildungan.DasGemeineanderGeschichte:DieFehler-meldung
beziehtsichnichtetwa auf dieZeile,in derdas Semikolon fehlt. Es
wird die nchste Zeile (hier Zeile 14) moniert. Klar, denn da du das
Semi-kolon vergessen hast, wei der PHP-Interpreter nicht, dass die
Zeile schon zu Ende war. Grausam: Schon ein vergessenes Semikolon
fhrt zu einer Fehlermeldung.107Fehlermeldung? Cool bleiben!
Variablen korrekt benannt? Ein anderer typischer Fehler schleicht
sich immer wieder bei den Variablen ein. Hast du dem Variablennamen
auch wirklich ein Dollarzeichen vorange-stellt? Wenn ich
Dollarzeichen sage, meine ich auch Dollarzeichen. Mir passiert es
gelegentlich, dass ich eine Variable statt $vorname als vorname
schreibe.
WasichhierimgutenGlaubenrichtiggemachtzuhabenglaubte,istna-trlicheinFehler.HastdudieGro-undKleinschreibungbeiVariablen
beachtet? Wenn du die Variable mit $Vorname initialisierst und
versuchst, mit $vorname darauf zuzugreifen, kann das einfach nicht
gelingen.
VariablendrfenauerdemnichtmiteinerZahlbeginnen,eineBezeich-nung
$68vorname wrde ebenfalls zu einer Fehlermeldung fhren. Gnsefchen
richtig gesetzt? Ein anderertypischerFehlerist
dasVergesseneinesGnsefchens.Wenn du statt $vorname = "Katja";
einfach schreibst $vorname = "Katja; gibt es auf jeden Fall
Probleme. Jedes einschaltende Gnsefchen ben-tigt auch ein
Ausschalt-Pendant. Falsche Klammersetzung? Apropos Ein- und
Ausschalten. ImVerlauf desBucheswirst dumit
Klam-mer-Blckenarbeiten.NutzedieschonvonCSSbekanntengeschweiften
Klammern{ },ummehrereZeilenzueinemBlockzusammenzufassen. Bei den
sogenannten Fallunterscheidungen oder den Schleifen zeige ich dir
dieses Prinzip spter noch ganz genau. Soviel schon vorweg: Auch das
ver-sehentlicheVergesseneinerffnendenoderschlieendenKlammerfhrt
natrlich zu Fehlermeldungen. Verschreiber bei den Variablennamen
gehren ebenfallszu den hufigenFehlern. 108 Hallo echo Hallo Welt
Kapitel 3 Problemegibtesvorallemdann,wenndumehrereKlammern-Blcke
ineinanderverschachtelnmusst,undnichtmehrdurchblickst,wowelche
Klammernungeschlossenwerdensoll.AuchhierschonandieserStelle
meinTipp:Kommentaresetzen!Notiere,woduwelcheKlammerffnest und
wieder schliet.
BeidirwirdderPHP-Codeberhauptnichtausgefhrt?NurderHTML-Teil der
Seite erscheint? Hast du denn die Seite ber den Webserver
auf-gerufen? Also z. B. ber http://localhost/katja.php? Das
einfache Doppelklicken auf den Eintrag funktioniert nicht. Vergiss
nicht, dass PHP
erstdurchdenWebservergezogenwerdenmuss:BeiPHPhandeltes sich
schlielich um Server-Programmierung! Schlussbemerkung Was fr ein
Kapitel! Du kannst nun programmieren. Na gut, ein wenig
zu-mindestschon.DukennstVariablen,weit,wieduTextausgibstund kmpfst
(hoffentlich erfolgreich) mit einer Vielzahl von Fehlern.
Zusammenfassung 0Duweit,dassPHP-DokumenteHTML-DokumentemitderEndung
.php sind. Du weit, dass PHP-Bereiche von umschlos-sen werden.
0DukennstdieSprachanweisungechozurAusgabevonDaten.Setze
denauszugebendenStringinGnsefchen,schlieedieZeiledurch ein
Semikolon ab: echo "Hallo Welt!";
0DukennstdasKonzeptderVariablen,dervariablenPlatzhalter.Du
mchtesteineVariableinitialisieren?NotieredieVariablelinks,den
Wertrechts.SetzedazwischendasGleichheitszeichen,hierZuwei-sungsoperatorgenannt:$vorname
= "Katja"; (DieLeerzeichenvor und nach dem Istgleichzeichen haben
lediglich eine optische Funktion.) 0Du weit, dass du bei der
Ausgabe mit echo selbst mit HMTL-Tags
ar-beitenkannst.NotiereStringsundVariableneinfachinnerhalbeines
Gnsefchen-Paars.DubentigstkeinenVerkettungsoperator,wenn dumehrere
Elementezueinem String zusammensetzenmchtest. Eine Zeile wie echo
"Hallo $vorname!"; ist fr PHP kein Pro-blem. 109Ein paar
Fragen
0InwenigenFllenmusstdudochdenVerkettungsoperatorPunktver-wenden,beispielsweisebeiderRckgabevonWertenausFunktionen.
DuhastdenVerkettungsoperatorimZusammenhangmitderFunktion date()
kennengelernt.
0DukennstdenSteuerbefehl\n,mitdemmaneinenZeilenumbruch
auchimEditorfenstererzeugt.Duweit,dassmanmit\ sonstnicht
darstellbareSonderzeichenwie"oder$maskieren(escapen)kann: Schreibe
z. B. \" bzw. \$ 0Du kennst meine Empfehlung zum Setzen von
Kommentaren. Einzeilige Kommentare notierst du hinter //,
mehrzeilige Kommentare kleidest du in die Zeichen /* und */ ein.
0Wir haben besprochen, woher viele Fehler herrhren. Vergiss
keinesfalls das Semikolon am Zeilenende oder das schlieende
Gnsefchen. Ach-te stets auf die korrekte Schreibweise der
Variablen. Ein paar Fragen 1.Wie nennt man das Gleichheitszeichen
zwischen Namen und Wert einer Variablen? 2.Nenne drei Datentypen fr
Variablen in PHP! 3.Mit welchem Steuerbefehl erzeugst du eine neue
Zeile im Editor? und ein paar Aufgaben 1.Schreibe ein PHP-Dokument,
welches den Satz PHP macht Spa! aus-gibt. Nenne es fun.php.
2.WieheitdeinbesterKumpel?Speichereihren/seinenvollstndigen Namen
in zwei Variablen. Nenne die erste Variable $vorname, die zwei-te
$nachname. Gib den Namen mit PHP aus, indem du diese beiden
Zei-chenkettengemeinsamausgibst.SpeicheredasDokumentunterdem Namen
kumpel.php. 3.Fge in die Datei kumpel.php einen Kommentar ein, der
dir jede Zeile erklrt. 111 4 Spa mit Datum und Uhrzeit
Timeismoney,ZeitistGeld!SolautetdasgnadenloseMottovielerEr-wachsener.IchhabemirfrdiesesKapiteleinenungleichbesserenWahl-spruch
ausgedacht. Er lautet: Time is fun, Zeit macht Spa. In diesem Sinne
strzen wir uns nun ins Abenteuer Zeit. In diesem Kapitel lernst du:
$wie du mit den entsprechenden Funktionen Zeit und Datum ausgibst
$wiedumitif-else-KontrollstruktureneinetageszeitabhngigeBegr-ung
programmierst
$wiedumitsogenanntenFeldvariablen(Arrays)dieWochentageaus-gibst
$wie du mit Arrays in der Kurzform umgehst $wie du Monatsnamen in
sogenannten assoziativen Arrays speicherst
112 Spa mit Datum und Uhrzeit Kapitel 4Immer up to date Bistduuptodate?Ichbinesnicht!WennmicheinernachdemDatum fragt, zucke ich meist mit der Schulter. Wozu gibt es denn Computer? Fra-gen wir doch einmal den Webserver, welches Datum wir gerade haben! Bei den nun zu besprechenden Funktionen wird stets Datum und Uhrzeit desWebserverszurckgegeben.DuarbeitestamheimischenPC?Dann sind Datum und Uhrzeit natrlich identisch mit den Angaben deines PCs. AuchbeidenzuBeginnbesprochenenDienstleisternsollteeskeine Problemegeben.WenndeineSeitenjedochaufeinemamerikanischen Webserverliegen,handeltessichbeiderServerzeitnatrlichumdie amerikanische Zeit! Das Datum ermitteln Du mchtest Datum und Uhrzeit ermitteln? Dann brauchst du die Funktion date()! Erinnerst du dich? Wir hatten uns diese Funktion im vorigen Kapi-telkurzangeschaut,allerdingsnurimZusammenhangmitdemJahr.Der CodezumErmittelndesaktuellenJahrslautet:date("Y").AlsErgebnis bekommst du eine vierstellige Jahresanzeige wie 2008. Doch das Jahr alleine reicht mir nicht aus. Selbst der schusselige Buchautor kenntinderRegeldenrichtigenJahrgang!WobleibendieMonate,die Tage?Dieholenwirunsschnelldazu!FgederFunktioneinfachweitere Schalter hinzu. Angenommen,dumchtestdasDatumimFormat1.8.08ausgeben.Also den Tag und den Monat ohne fhrende Null und das Jahr mit zwei Stellen. Dann schreibst du z. B. echo date("j.n.y"); WichtigsinddieBuchstabenj,nundy.DiePunktedienenlediglichzum Gestalten. RanandiePraxis,probieredasdochgleicheinmalaus!Erstelleeineneue PHP-Datei, ich schlage den Namen datum1.php vor. W
top related