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