PROJEKT PHP und MySQL Programmierung 3 Erste Schritte im eigenen Programm Die Arbeit mit PHP erfordert immer wiederkehrende Schritte, die auch nach den Vorbereitungen die ersten Schritte mit PHP in diesem Buch sein werden. Dazu zählen ganz zwingend das Starten des Webservers und das Anlegen eines neuen Dokuments. Um zwischen HTML und PHP hin und her zu wechseln, muss der PHP-Scriptbereich eigens deklariert werden, während die HTML-Tags in diesem PHP-Bereich wiederum gesondert ausgewiesen werden müssen. Um ein Programm zu strukturieren und somit auch für zukünftige Bearbeitungen einfacher handhabbar zu gestalten, fügen Programmierer Kommentare zu den einzelnen Konstruktionsabschnitten ein. Diese wie auch das Deklarieren des Scriptbereiches können auf unterschiedliche Arten festgehalten werden. Ebenso gibt es unterschiedliche Möglichkeiten, Text auszugeben. Und schließlich muss das Ergebnis in einem Browser getestet werden auch, um herauszufinden, wie der Webserver arbeitet und reines HTML ausgibt. Lektion 1 Testlauf: das Hallo-Welt-Programm 25
Lektion 1 Hinweis Mit Parsen ist die Abarbeitung von Befehlen eines Programms gemeint. Testlauf: das Hallo-Welt-Programm Nun ist es an der Zeit, das erste PHP-Script zu erstellen. Dabei ist weniger der Inhalt wichtig, der natürlich noch nicht weiter spektakulär ist, sondern die Hilfsmittel, die Sie einsetzen müssen. Um Ihre Programme zu testen, benötigen Sie als Erstes den im Hintergrund arbeitenden Apache Webserver, der mit seinem PHP-Modul die Dateien parst, also die Befehle abarbeitet. Nach Abschluss Ihrer Arbeit und vor allem vor einer Einwahl ins Internet sollte Apache beendet werden. In den folgenden Kapiteln verzichten wir dann allerdings darauf, jedes Mal darauf hinzuweisen, dass Sie z. B. erst den Apache Webserver starten müssen, um ein Script testen zu können, die Scripts im Editor erstellen oder die Adresse http://127.0.0.1 oder http://localhost, gefolgt vom Dateinamen, aufrufen müssen, um das Script in einem Browser zu testen. Wenn die Installation und Konfiguration erfolgreich waren, stellen Sie bei Fehlern immer sicher: : Läuft der Webserver? : Befindet sich die Datei im richtigen Verzeichnis? : Stimmt die Adresse? : Besitzt die Datei die richtige Dateiendung.php? Diese vier Punkte sollten alle Schwierigkeiten beheben, die nicht mit dem Script an sich zu tun haben. Bei diesen Fehlern erhalten Sie eine spezielle Fehlermeldung vom PHP-Modul mit einer kurzen, englischen Beschreibung. 1. Starten Sie den Webserver über START/PROGRAMME/APACHE HTTPD SERVER/CONTROL APACHE SERVER/START. 2. Minimieren Sie das Apache-Fenster. 3. Wählen Sie START/PROGRAMME/ZUBEHÖR/EDITOR. 26 Projekt 3 Erste Schritte im eigenen Programm
4. Wählen Sie DATEI/SPEICHERN UNTER... 5. Speichern Sie die Datei im local-root-verzeichnis. Wie Sie in der Datei php.ini im Windows-Verzeichnis festgelegt haben, wird das PHP-Modul aktiv, wenn Sie Dateien aus diesem Verzeichnis öffnen. Also müssen Sie diese Datei unter dem Namen 3_01.php ebenfalls im Ordner C:\Apache\htdocs abspeichern. Wählen Sie als Dateityp ALLE DATEIEN, sonst wird die Datei unter 3_01.php.text abgespeichert. Achtung Achten Sie auf die Dateiendung, die.php lauten muss. Listing Datei 3_01.php 6. Erstellen Sie den Quelltext. Geben Sie folgenden Quelltext als Übung ein. Zwei Elemente sind für dieses und alle anderen Programme in diesem Training zentral: : Definition des PHP-Bereichs über <?php und?> : Definition einer Ausgabe mit Hilfe der echoanweisung <html> <head> <title>das Hallo-Welt-Programm</title> </head> <body> <?php echo "Hallo Welt! :-)";?> </body> </html> Projekt 3 Erste Schritte im eigenen Programm 27
HTML-Bereich verlassen Es gibt vier Methoden, den HTML-Bereich zu verlassen bzw. den PHP-Scriptbereich zu betreten, also PHP-Befehle einzugeben: Tags Beschreibung <? echo "Ausgabe");?> SGML-Processing-Instruction <?php echo("ausgabe");?> <script language="php"> echo ("Ausgabe"); </script> XML-konform für Editoren, die keine Processing Instructions unterstützen <% echo ("Ausgabe"); %> ASP-Stil Möglichkeiten, den HTML-Bereich zu verlassen Beispiele finden Sie in der Datei 3_02.php. Der Webserver muss allerdings für einige dieser Varianten speziell konfiguriert werden. Dies könnte nützlich sein, wenn Sie einen PHP-Quelltext mit anderer Notation finden oder z. B. per E-Mail oder aus einem Buch erhalten. Damit das PHP-Modul dieses Script bearbeiten kann, ist es notwendig, die entsprechenden Einstellungen in der Datei php.ini vorzunehmen: Listing Konfiguration in der Datei php.ini ; Language Options ; ; Enable the PHP scripting language engine under Apache. engine = On ; Allow the <? tag. Otherwise, only <?php and <script> tags are recognized. short_open_tag = On ; Allow ASP-style <% %> tags. asp_tags = On 7. Speichern Sie die Datei erneut mit DATEI/SPEICHERN. Wie bei HTML-Dateien auch, müssen Sie geänderte PHP-Dateien zwischenspeichern, wenn Sie Änderungen vorgenommen haben. Alternativ können Sie statt DATEI/SPEICHERN auch (Strg) + (S) verwenden. 28 Projekt 3 Erste Schritte im eigenen Programm
8. Testen Sie die Datei in einem Browser. Öffnen Sie einen Browser wie Internet Explorer, Netscape Navigator, Opera o. ä. Nehmen Sie in der Adresszeile folgende Eintragung vor: http:/ /127.0.01/3_01.php oder http://localhost/3_01.php. Damit rufen Sie den Webserver auf, der die gewünschte Datei 3_01.php im local-root-verzeichnis C:\Apache\htdocs findet. Als Ergebnis sehen Sie den Text Hallo Welt! :-). Listing Datei 3_03.php 9. Fügen Sie Sonderzeichen ein. Sonderzeichen wie z.b. " sind in PHP bereits belegt. Daher ist es notwendig, Sonderzeichen mit einigen Besonderheiten zu versehen. Dabei kann eine Strukturierung des Quelltextes des HTML-Dokuments direkt im ausgegebenen Text der Anweisung durch das eingefügte Sonderzeichen \n erfolgen. Um nach einer Anweisung einen Zeilenumbruch zu erzeugen, muss das Sonderzeichen noch innerhalb der Anführungszeichen stehen. Der Text der Bildschirmausgabe bleibt davon allerdings unberührt. Um ein Dollarzeichen in der Ausgabe zu erhalten, müssen Sie es durch das Sonderzeichen \$ eingeben. Sie werden später sehen, dass das Dollarzeichen zur Deklaration von Variablen verwendet wird. Ähnliche Überlegungen gelten für das Anführungszeichen und den Rückstrich, mit dem normalerweise die Sonderzeichen eingeleitet werden. Also benötigt man zur Darstellung des Rückstrichs selbst ebenfalls wieder einen Rückstrich: \\. <?php echo "<h1>hallo Welt!</h1>\n Ich bin das \"Hallo Welt\"-Programm.<br>\n Sonderzeichen in PHP und SQL PHP und SQL benutzen verschiedene Sonderzeichen, um : bereits vergebene Zeichen (Anführungszeichen oder das Dollarzeichen) auszugeben : ausgegebenen Quelltext z. B. mit Tabulatoren und Zeilenwechseln zu strukturieren : automatisch verschickte E-Mails zu formatieren : SQL-Datenbankabfragen mit Textvergleich auszuführen Projekt 3 Erste Schritte im eigenen Programm 29
Bei größeren Programmen können sowohl diese strukturellen Sonderzeichen wie Kommentare sehr nützlich sein, um sich später in einen Programmiercode wieder einarbeiten zu können. Ohne die Sonderzeichen für die in PHP besetzten Zeichen könnten Sie nicht in einem Text verwendet werden. Sonderzeichen Bedeutung \n Neue Zeile \r Wagenrücklauf \t Tabulator \ Anführungszeichen \\ Rückstrich \$ Dollarzeichen Übersicht über die Sonderzeichen in PHP und SQL Listing Datei 3_04.php Hinweis Kostenlose Scripts im WWW verwenden immer Kommentare, um dem Leser die Verwendung zu erläutern. Listing Datei 3_05.php 10. Fügen Sie HTML-Tags ein. Im nächsten Beispiel werden HTML-Tags in das PHP-Script integriert, um die Textausgabe zu formatieren. Achten Sie auch hier auf Zeilenschaltungen, die man durch die Absatzstruktur des PHP-Codes leicht vergessen kann. <?php echo "<h1>hallo Welt!</h1>\n"; echo "<img src=\"bilder/welt.gif\" align=\"left\">"; echo "Ich bin das <i>\"hallo Welt\"</i>-Programm.<br>\n"; echo "Und wie es weitergeht, ist die 64.000 \$-Frage.\n";?> 11. Fügen Sie Kommentare ein. Wie die Sonderzeichen zur Strukturierung des Quelltextes bei der HTML- Ausgabe kann man den Programmcode noch deutlicher durch Kommentare erklären. Auch sie werden beim Benutzer weder im Quelltext noch am Bildschirm ausgegeben. <?php echo "<h1>hallo Welt!</h1>\n"; #Programmtitel echo "<img src=\"bilder/welt.gif\" align=\"left\">"; echo "Ich bin das \"Hallo Welt\"-Programm.<br>\n"; /*Hier könnte man ein Ratespiel einbauen mit den Themen - Kommentare - Sonderzeichen - HTML-Tag-Ausgabe */ echo "Und wie es weitergeht, ist die 64.000 \$-Frage.\n";?> 30 Projekt 3 Erste Schritte im eigenen Programm
Kommentare Um auch nach längerer Zeit ein Programm verstehen zu können oder Quelltext anderer Programmierer zu lesen, sind Kommentare nützlich. In ihnen kann man einzelne Programmabschnitte erklärend darstellen, Notizen zur Entstehung oder Ähnliches einfügen. Folgende Möglichkeiten existieren, um einen Kommentar einzufügen: //Kommentarzeile # Kommentarzeile /* ein merhrzeiliger Kommentar beginnt in dieser und endet in einer anderen Zeile */ 12. Speichern Sie diese Änderungen mit DATEI/SPEICHERN oder (Strg) + (S) ab. 13. Laden Sie die Datei erneut im Browser. Um nun die Änderungen im Browser zu sehen, müssen Sie die Seite wie jede HTML-Seite auch aktualisieren. Dazu wählen Sie die Schaltfläche AKTUALISIEREN (oder NEU LADEN, je nach Browser) in der Werkzeugleiste. (Als Belohnung für die schwere Arbeit dreht sich auch die Weltkugel ein wenig.) 14. Vergleichen Sie das Ergebnis. Achtung PHP-Quelltext wird nicht zum Benutzer/ Browser geliefert. 15. Öffnen sie den Quelltext der Browseranzeige. In den Ausführungen des ersten Kapitels haben Sie gelernt, dass keine Silbe PHP im Quelltext des vom PHP-Moduls ausgegebenen Dokuments zu finden ist. Spätestens jetzt sollten Sie selbst nachprüfen, ob das stimmt. Wählen Sie ANSICHT/QUELLTEXT ANZEIGEN. Sie können auch das Kontextmenü mit der rechten Maustaste öffnen, wenn Sie mit einem anderen Browser arbeiten, denn dort dürfte sich ebenfalls ein Hinweis auf die Quelltextanzeige verbergen. Projekt 3 Erste Schritte im eigenen Programm 31
16. Vergleichen Sie den Quelltext der Browseranzeige mit Ihrem eigenen Quelltext. Je nach Browser öffnet sich entweder ein neues Fenster oder wie beim Internet Explorer ein weiteres Fenster des Editors, in dem der Quelltext der Browseranzeige aufgelistet wird. Tatsächlich findet sich kein Hinweis darauf, dass die Begrüßung Ihres PHP-Programms von Ihnen in PHP geschrieben wurde. Der eingegebene Satz befindet sich lediglich ohne weitere Attribute im Body-Bereich der HTML-Seite. 32 Projekt 3 Erste Schritte im eigenen Programm
? Testen Sie Ihr Wissen! 1. Mit welcher Anweisung können Sie Texte ausgeben? 2. Sie wissen, dass Sie ein Programm ein paar Monate später noch einmal bearbeiten wollen, und möchten sich Notizen und Anmerkungen zum Quelltext notieren. Welche Möglichkeiten haben Sie? 3. Warum gibt es ein Sonderzeichen für das Anführungszeichen? In welcher Funktion haben Sie es in PHP schon kennen gelernt? 4. Geben Sie folgenden Text mit einer echo-anweisung am Bildschirm aus. Achten Sie dabei auf die Verwendung von Sonderzeichen. 5. Geben Sie folgendes Gespräch mit einer echo-anweisung am Bildschirm aus. Achten Sie auch hier auf die Verwendung von Sonderzeichen. Fügen Sie zusätzlich das Bild urlaub.gif ein. Projekt 3 Erste Schritte im eigenen Programm 33
6. Geben Sie eine Tabelle im PHP-Bereich aus für die Städte Paris, Hamburg, Berlin, London und die Regionen Toscana, Piemonte (Italien), Galicia und Extremadura (Spanien) gemäß folgender Abbildung. Fügen Sie zusätzlich das Bild wetter.gif ein. 34 Projekt 3 Erste Schritte im eigenen Programm