In einem anspruchsvollen 5-Vormittagsseminar im Gauß-IT-Zentrum (RZ der TU Braunschweig) wird für Mitarbeiter der TU BS die Technik der "Dynamischen Websites mit PHP und MySQL" vermittelt. Aufbauend auf Grundlagenkenntnisse gemäß "Webseiten I" aus der Seminarreihe der Zentralstelle für Weiterbildung (ZFW) soll also nun die serverseitige Bereitstellung von Inhalten trainiert werden.

Ort: HS 65.1, Hans-Sommer-Straße, Gauß-IT-Zentrum
Zeit: Mo. 09.02. - Fr. 13.02.2009, jeweils 09.00 - 12.00 Uhr

Wir wünschen viel Spaß und Erfolg und wollen im weiteren Artikel auch wieder ein paar Stichworte des Seminars bereitstellen.
Ihr Trainer Joe Brandes, BS, 2009-02-09

 

Hier der "Rote Faden" unseres kleinen Seminars:

Montag, 09.02.2009

  • Windows-Umgebung:
    Win-Explorer (Win+E) - Menü Extras - Ordneroptionen - Dateierweiterungen einblenden
  • Tools:
    Standard-Tools: Zipper (www.7-zip.org), PDF (Foxit Reader)
  • Webeditoren:
    Profi: Dreamweaver (jetzt Adobe), Zend Studio (Zend, verschiedene Varianten)
    Freeware: Notepad++, PSPAD (www.pspad.com/de - als CAB-Datei ohne Installation)
    Spezial: Eclipse PDT (PHP Development Tools Project für professionelle Java-IDE von IBM)
  • Server-Umgebung:
    XAMPP: Projekt von www.apachefriends.org - Lauffähig ohne Installation
    X: Für diverse Betriebssystemplattformen (W=Windows; L=Linux/Unix)
    A: Webserver Apache (www.apache.org - Diverse Entwicklungsprojekt - hier: httpd)
    M: Datenbankserver MySQL (www.mysql.com)
    P: serverseitige Skriptsprache PHP (www.php.net)
    P: Projekt von den Apachefriends ;-)
  • Dokumente auf Server:
    Lokaler Pfad: C:\xampp\htdocs\uebungen\info.php
    URL im Browser: http://localhost/uebungen/info.php
    Anm.: PHP-Skripte funktionieren nur über Aufrufe mittels Browser! Der Browser muss nach Code-Aktualisierungen immer wieder aktualisert werden (z.B. Funktionstaste F5)
  • Erste PHP-Skripte mit phpinfo(), echo und gemischtem HTML/PHP-Code
    siehe auch Skript-Beispiele der Online/CHM-Hilfe zu PHP und anderen Online-Ressourcen
  • Online-Ressourcen zu PHP:
    www.php.net - Dokumentationen und Hilfe-Downloads
    www.selfphp.de - Kooperationsprojekt zu selfhtml - Autor: Damir Enseleit

Dienstag, 10.02.2009

... oder wie es Skripte hagelte - aber immer im Ernst: hier die PHP-Funktionen und Aufrufe in lockerer Folge

  • Kommentare:
    mit // einzeiliger Kommentar
    oder geschachtelt /* Kommentar ... */ über mehrere Zeilen
  • Variablen und Konstanten:
    Groß- und Kleinschreibung beachten - Konstanten müssen mit define deklariert werden
  • vordefinierte Variablen/Konstanten: (Auswahl)
    __FILE__ , __LINE__, PHP_VERSION ,
    Globales Serverarray $_SERVER[] - z.B. $_SERVER['DOCUMENT_ROOT']
  • Arrays: wichtige 2-dimensionale Tabellen
    Numerische Arrays (Indizes sind Zahlen, also 0, 1, 2, ...)
    Assoziative Arrays (Indizes sind beliebige Werte, z.B. Name, Vorname, ...) - Hash
    Array-Funktionen: sort, asort, in_array, list, shuffle, compact, ...
    Ausgabe: foreach
  • Stringfunktionen:
    addslashes, stripslashes, implode, explode, substr, str_replace
  • Datum- / Uhrzeitfunktionen:
    date, time, mktime
  • Vorschau: dynamische Website Grundgerüst mit implode und str_replace

Mittwoch, 11.02.2009

... und es wurde eine dynamsche Website ... letzte Bausteine

  • Übergabe von Parametern mittels GET und Globalem Array (Superglobals) $_GET['variable']
    Übung mit einfachem HTML-Formular und Action GET
  • spezielle Funktion für GET-String: rawurlencode()
  • IF-Bedingung mit ELSE-Zweig und &&-Operator
  • Dateihandling mit fopen, fget, fclose und natürlich file_get_contents()
  • Dynamische Website inklusive Template und Artikeln
    Ordnerstruktur: Unterordner für /articles und /templates
    Pfade beachten für css- und bilder-Ordner
  • Übung mit dynamischer Website und Bildergalerie in CSV-Version
    Vorbereitung der MySQ-Version

Donnerstag, 12.02.2009

... und es gab einen Datenbankserver MySQL ...

  • Templates wiederholt und Rekapitulation Dynamische Webseitenkonzepte
  • Ausgliederung von PHP-Skriptteilen und Konfigurationsdaten mittels include
  • Einführung in die DB Servertechnik:
    Hierarchie: Server - Datenbanken - Tabellen - Felder
    Zugriff: Server/Host, Datenbank, Benutzername & Passwort
  • Konfiguration und Management von MySQL mittels phpmyadmin
    Übung: Erstellen von Datenbanken und Tabellen, Eingabe von Daten
  • Überblick über wichtigste Datentypen und Eigenschaften von Feldern:
    Datentypen: int, text, varchar
    Eigenschaften: primary_key, auto_increment
  • Übung: Bildergalerie phpdia von Mark Lubkowitz (Hinweis Buch und Verlag Galileo)
  • Online-Quelle: www.selfphp.de - insbesondere: Praxisbuch (Damir Enseleit)

Freitag, 13.02.2009

... äh das war ja "Freitag der 13." ... hat ja trotzdem alles geklappt ;-) ...

  • kurze Rekapitulation der wichtigsten "Dyn-Web-Techniken" (Roter Faden)
  • Darstellung der Normalformen für einen relationalen Datenbankentwurf
    Beispiel: kleine Buch-Datenbank  -> Vier "verknüpfte Tabellen"
    Hinweis: mal "Kofler" und "Normalformen" in Google eingeben, dann bekommen Sie einen Hinweis auf Google-Bücher (online-pdfs)
  • Gegenüberstellung Prozedurale und Objektorientierte Programmierung
    bitte vor allem für die verbesserten PHP-MySQL-Zugriffe (mysqli) nachrecherchieren (www.selfphp.de - Kochbuch)
  • Beispielskript: Kontakteverwaltung mit objektorientiertem Beispielcode
    wichtige Vorgehensweisen: Auslesen (SQL-Befehl: select), Aktualisieren (update),
    Einfügen (insert) und Löschen (delete)
  • Test von SQL-Abfrage-Strings in phpmyadmin
  • wichtiger PHP-Befehl für Fehlerabfragen und Integration von Text in Website: htmlspecialchars()
  • Backup- und Restore-Technik bei Datenbanken mittelsp phpmyadmin
    Exportieren und Importieren von Tabellen (oder auch ganzen Datenbanken)

Vielen Dank für Ihr freundliches Feedback und und die Vorschläge für Nachfolgeseminare.
Ihr Trainer Joe Brandes, 2009-02-13