W EWS-7.1
W7 Projekt im Zusammenhang
Gästebuch
Aufgabe: Web-Seite mit einem kleinen Gästebuch; fordert Web-Surfer auf, etwas
einzutragen; speichert die Einträge und zeigt alle an, die bisher gemacht wurden.
Plan für Interaktionen:
Client Host-Rechner
mit Browser mit Web-Server
URL HTML-Datei mit
Prüffunktion in
JavaScript
PHP-Programm für
Formular mit Prüffunktion
Benutzer- Formular erzeugen
Interaktion
Formular- geprüfte Formular-Eingaben
prüfung Eintrag speichern
Alle Einträge lesen
Ergebnisse und schreiben
(c) 2004 bei Prof. Dr. Uwe Kastens
--------------------------------------------------------------------------------
Vorlesung Einführung in Web-bezogene Sprachen WS 2006 / Folie 701
Ziele:
Aufgabe verstehen
in der Vorlesung:
Am Beispiel wird erklärt:
* Aufgabe auf das Schema abbilden,
* Plan für Interaktionen aufstellen,
* Zusammenhang der Teilaufgaben erkennen.
--------------------------------------------------------------------------------
W EWS-7.2
Planung der beiden Phasen
Phase 1: Willkommen zu meinem Gästebuch!
1a. HTML-Formular zum Eintragen Hier kannst Du etwas eintragen:
1b. Prüfen, ob etwas eingetragen wurde;
sonst nur Einträge ansehen;
in JavaScript
Löschen Abschicken
Phase 2:
statt des Formulars wird angezeigt:
2a. Falls ein Eintrag gemacht wurde, Willkommen zu meinem Gästebuch!
Eintrag an Datei anfügen;
Dank als HTML-Zeile Danke für Deinen Eintrag!
2b. HTML-Überschrift für Einträge; Das wurde bisher eingetragen:
alle Einträge aus der Datei lesen ....
und anzeigen ....
Phasen 1 und 2 als
Zweige im PHP-Programm
(c) 2004 bei Prof. Dr. Uwe Kastens
--------------------------------------------------------------------------------
Vorlesung Einführung in Web-bezogene Sprachen WS 2006 / Folie 702
Ziele:
Prüfen: An alles gedacht?
in der Vorlesung:
Am Beispiel wird erklärt:
* Skizze für das Layout,
* Welche Situationen können auftreten?
* Welche Programmzweige werden gebraucht?
* Welche Operationen werden gebraucht?
--------------------------------------------------------------------------------
W EWS-7.3
Realisierung der Phase 1 (Formular)
1. HTML-Datei mit Formular entwickeln:
Mein Gästebuch
Willkommen zu meinem Gästebuch!
Hier kannst du etwas eintragen:
2. Layout prüfen,
(c) 2007 bei Prof. Dr. Uwe Kastens
--------------------------------------------------------------------------------
Vorlesung Einführung in Web-bezogene Sprachen WS 2006 / Folie 703
Ziele:
Statische HTML-Datei entwickeln
in der Vorlesung:
Am Beispiel wird erklärt:
* schrittweise Entwicklung (Web-Server ist noch nicht nötig!):
* nur das Layout von Formular und Überschrift,
* Formular und Elemente mit name-Attribut,
* mit CSS das Layout verbessern.
--------------------------------------------------------------------------------
W EWS-7.4
Realisierung der Phase 1 (Formular-Prüfung)
1. Formular-Prüfung einfügen:
Mein Gästebuch
CSS
Willkommen zu meinem Gästebuch!
Hier kannst du etwas eintragen:
(c) 2007 bei Prof. Dr. Uwe Kastens
--------------------------------------------------------------------------------
Vorlesung Einführung in Web-bezogene Sprachen WS 2006 / Folie 704
Ziele:
Formular-Prüfung üben
in der Vorlesung:
Am Beispiel wird erklärt:
* Attributzugriff,
* Funktionsergebnis entscheidet über Abschicken des Formular-Inhalts;
* Ereignisbehandlung mit "return ...";
* Ereignibehandler ist implizite Funktion.
--------------------------------------------------------------------------------
W EWS-7.5
Testen der Phase 1
Alle Fälle der Bedienung des Formulars
prüfen:
1. normal: eintragen und abschicken,
2. löschen,
3. nichts eintragen, abschicken,
bestätigen,
4. nichts eintragen, abschicken, nicht
bestätigen.
ggf. Fehler suchen, korrigieren und
nochmal testen
(c) 2004 bei Prof. Dr. Uwe Kastens
--------------------------------------------------------------------------------
Vorlesung Einführung in Web-bezogene Sprachen WS 2006 / Folie 705
Ziele:
Notwendigkeit zu testen erkennen
in der Vorlesung:
Am Beispiel wird erklärt:
* alle Fälle,
* Auffinden der Fehler-Console,
* fehlerhaftes Beispiel,
* korrigiertes Beispiel.
--------------------------------------------------------------------------------
W EWS-7.6
Herstellen der Standardstruktur
PHP-Programm mit 2 Zweigen:
check
Mein Gästebuch
CSS
Willkommen zu meinem Gästebuch!
Hier kannst du etwas eintragen:
EINTRAG;
} else {
// Phase 2
}
?>
(c) 2007 bei Prof. Dr. Uwe Kastens
--------------------------------------------------------------------------------
Vorlesung Einführung in Web-bezogene Sprachen WS 2006 / Folie 706
Ziele:
Standard Programmstruktur herstellen
in der Vorlesung:
Am Beispiel wird erklärt:
* systematisch die 2 Zweige im PHP-Fragment einfügen,
* Datei umbenennen: .php,
* nochmal testen, wie auf voriger Folie gezeigt.
--------------------------------------------------------------------------------
W EWS-7.7
Realisieren der Phase 2 (Gästebuch)
Eintrag wird nur if (strlen($_REQUEST["eintrag"]) >= 1) {
gespeichert, wenn $fp = fopen("gaestebuch.txt","a");
etwas eingetragen fputs($fp, "
" . $_REQUEST["eintrag"] .
wurde. "
\n");
fclose($fp);
echo "
Danke für deinen Eintrag
";
}
Datei öffnen, lesen echo "
Das wurde bisher eingetragen:
";
und ausgeben. $gb = fopen("gaestebuch.txt","r");
while (!feof($gb)) {
(Schema 4.29) $eintr = fgets($gb, 4096);
echo $eintr;
}
fclose($gb);
Phase 2
(c) 2007 bei Prof. Dr. Uwe Kastens
--------------------------------------------------------------------------------
Vorlesung Einführung in Web-bezogene Sprachen WS 2006 / Folie 707
Ziele:
Datei-Operationen programmieren
in der Vorlesung:
Am Beispiel wird erklärt:
* Bedingung für leeren Eintrag,
* an die Datei anhängen,
* schematische Leseschleife,
* Einfügen als Phase 2.
--------------------------------------------------------------------------------
W EWS-7.8
Testen der Phase 2
Alle Fälle prüfen:
1. normaler Eintrag in leere Datei
2. normaler Eintrag in nicht-leere Datei
3. kein Eintrag und Datei ist leer
4. kein Eintrag und Datei ist nicht leer
5. Datei existiert nicht
ggf. Fehler finden, korrigieren und
nochmal testen
Wenn alles funktioniert, eine andere
Person erproben lassen.
if (!file_exists("gaestebuch.txt")) { in der
echo "