20150418_2_HTML_PHP

Transcrição

20150418_2_HTML_PHP
Tutorium & Übungen PHP
Dr. Christian Senger
DB & IS II, SS15
18.04.2015
Einleitung
In den folgenden Lektionen sollen die vermittelten Konzepte zur Programmierung mittels
PHP anhand von konkreten Beispielen geübt und vertieft werden.
Zu Beginn wird in die Entwicklungsumgebung im Poolraum eingeführt. Anschließend gibt es
ein paar Fingerübungen zu PHP.
Entwicklungsumgebung:
Hinweis: Die Datei apache_start.bat überprüft, ob in eurem Homeverzeichnis (u-Laufwerk)
ein Verzeichnis db-is-2 existiert. Ist dies nicht der Fall, so werden vom h-Laufwerk eine
Reihe von Beispielprogramme unter db-is-2 abgelegt. Das Verzeichnis u:/db-is-2/htdocs ist
dann das Document-Root Verzeichnis des Webservers.




Apache starten1:
h:/schmidt/xampp/apache_start.bat
Browser mit URL: http://localhost/wwwenv öffnen
Link „Datumsaufgabe“ drücken und testen ob PHP richtig funktioniert
Link „Liste von Flüsse“n drücken und testen ob Verbindung zur Datenbank hergestellt
werden kann.
Erste Schritte
Lege im Verzeichnis c:/xampp/htdocs/wwwenv eine neue Datei mit dem Namen
hurra.php an. Das Programm soll später folgende Meldung ausgeben:
„Hurra, es klappt, am <heutiges datum> habe ich mein erstes
PHP-Programm geschrieben“.
Dazu füge folgende Zeilen in die leere Datei ein:
<?php
echo "Hurra, ich hab mein erstes PHP Programm
geschrieben";
?>
Starte anschließend einen Browser (z.B. Firefox) und gib folgende URL ein:
http://localhost/wwwenv/hurra.php
Der Browser sollte die Jubelmeldung jetzt ausgeben. Als nächstes soll das heutige Datum
noch mit ausgegeben werden. Dazu werfen wir einen Blick auf die Seite
http://de.php.net/date, welche die Datumsfunktion von PHP beschreibt. Erweitere
das Programm so, dass die obige Ausgabe samt Datumsausgabe erfolgt
1
Eventuell poppt die Firewall hoch und will eine Bestätigung, dass das Programm gestartet werden darf erlaub es ihm ;-)
MySQL
Drücke auf den Link „MySQL WWW-Frontend für Datenbank“ und mach dich mit dem
Frontend vertraut.
Probiere alternativ den MySQL Query Browser aus (Start>>Alle Programme >> Entwicklung
>> Datenbanken >> MySQL ).
Nimm das Programm u:/db-is-2/htdocs/wwwenv/10fluesse-liste.php und
kopiere es nach u:/db-is-2/htdocs/wwwenv/nochmal-hurra.php. Modifiziere
das SQL-Statement so, dass anstatt der Flüsse, alle Seen (mit Name und Größe) ausgegeben
werden. Stell ein paar Select-Anfragen an die Mondial-Datenbank. Teste das Programm,
indem du die folgende URL im Browser eingibst:
http://localhost/wwwenv/nochmal-hurra.php
Ziehe das Programm mittels Drag-and-Drop ins Browserfenster. Was passiert? Warum ?
PHP und Kommandozeile
Du kannst alternativ PHP Programme von der Kommandozeile aus ausführen (anstatt sie
durch den Webserver auszuführen und dann das Ergebnis im Webbrowser anzeigen zu
lassen). Dazu musst du das Programm php.exe mit der auszuführenden PHP-Datei als
Parameter von der Kommandozeile aus aufrufen.
php.exe2 c:/xampp/wwwenv/hurra.php
Schau dir das Programm check_run_environment.php an. Das Programm kann von
sich aus erkennen, ob es von der Kommandozeile oder über den Webserver gestartet wurde
und setzt entsprechend den Zeilenumbruch auf <br> oder auf
\n. Ein anderes nettes Programm ist read-from-stdin.php, das nur von der
Kommandozeile aus läuft und eine Funktion definiert, die es dem Benutzer ermöglicht eine
Zeichenkette einzugeben (beenden mit <RETURN>).
PHP Übungen
0) Erstelle ein Programm, das die Werte aus einem assoziativem Array (Key-Value Pairs) in
einer zweispaltigen HTML-Tabelle ausgibt. Wenn du dich mit HTML nicht auskennst, wirf
einen Blick in den Foliensatz Crashkurs-HTML. Erstelle ein Programm, das nach Eingabe
einer Zahl über ein Formularfeld, deren Quadratwurzel berechnet. Ändere das letzte
Programm so ab, dass statt der Quadratwurzel die Fakultät (z.B.: 5! = 1*2*3*4*5) mittels
einer selbst programmierten Funktion ermittelt wird.
2
Wenn du Programme die auf die Datenbank zugreifen von der Kommandozeile aus laufen lassen willst,
benutzte die PHP Version unter h:/schmidt/xampp-ws07/php/php.exe, bei der ist die
MDB2 Library bereits dabei