ews15-b-dynamische-webseiten

Vorlesung und Übung
Universität Paderborn
Wintersemester 2015/2016
Dr. Peter Pfahler
DYNAMISCHE
WEB-SEITEN
B-1
EWS, WS 2015/16, Pfahler
Dynamische Web-Seiten
Der Seiteninhalt wird dynamisch, abhängig von interaktiven Benutzereingaben erzeugt:
Eingabe der URL
Eingabe einer Anfrage
Ergebnis der Suche
liefert Seite mit
Eingabe-Formular
fordert eine Suche im
Telefonbuch an
wird angezeigt
EWS, WS 2015/16, Pfahler
B-2
Client/Server-Prinzip
Die Interaktion zwischen Client und Server lässt sich in 2 Phasen gliedern:
Server mit Web-Service
Client mit Browser
Schritt 1: URL
Datenbank für
Telefonbuch
Schritt 2: Formular
Schritt 3:
Name im Textfeld
Schritt 4:
Telefonbucheinträge
Schritt 3a:
Namen suchen
Schritt 3b:
Einträge finden
B-3
EWS, WS 2015/16, Pfahler
Dynamische Web-Anwendung
Bei statischen Web-Anwendungen wird zu einer URL stets die gleiche HTML-Seite
als Antwort geliefert.
Hier unterscheidet die Web-Anwendung dynamisch, ob Phase 1 oder Phase 2
vorliegt und berechnet in Phase 2 dynamisch das Ergebnis.
Diese Entscheidungen und Berechnungen werden in der Programmiersprache PHP
formuliert:
Überschrift (HTML)
falls erste Anfrage // Phase 1
sende HTML-Formular
sonst // Phase 2: Suchbegriff liegt vor
öffne Telefonbuch
wiederhole für alle Einträge im Buch
vergleiche Eintrag mit Suchbegriff
falls passend:
als Suchergebnis ausgeben
Dynamisch berechnete
HTML-Texte erzeugt von
einem PHP-Programm,
das in einen HTMLRahmen eingebettet ist.
Fusstext (HTML)
EWS, WS 2015/16, Pfahler
B-4
Quelltext dieser Web-Anwendung
<html> <head>
<title>Uni Telefonbuch Paderborn </title>
</head> <body>
<h3>Das Uni­Telefonbuch</h3>
<?php // Typischer Aufbau einer PHP­Seite:
if (!isset($_POST['wunsch'])) {
echo <<<FORMULARANZEIGE
<h4>Wen suchen Sie?</h4>
<form action="http://ews.../unitel.php"
method="POST">
<p><input type="text" name="wunsch">
<p><input type="submit" value="Abschicken">
</form>
FORMULARANZEIGE;
}
else {
$wunsch = $_POST['wunsch'];
echo "<h4>Ihre Suchergebnisse</h4><p>\n<pre>\n";
$fp = fopen("telefonbuch.txt" ,"r");
while (!feof($fp)) {
$line = fgets($fp);
if (preg_match("/$wunsch/i", $line)) {
echo "\t$line";
}
}
fclose($fp);
} ?>
</body></html>
B-5
EWS, WS 2015/16, Pfahler
Quelltext dieser Web-Anwendung
<html> <head>
<title>Uni Telefonbuch Paderborn </title>
</head> <body>
<h3>Das Uni­Telefonbuch</h3>
<?php // Typischer Aufbau einer PHP­Seite:
if (!isset($_POST['wunsch'])) {
echo <<<FORMULARANZEIGE
<h4>Wen suchen Sie?</h4>
<form action="http://ews.../unitel.php"
method="POST">
<p><input type="text" name="wunsch">
<p><input type="submit" value="Abschicken">
</form>
FORMULARANZEIGE;
}
else {
$wunsch = $_POST['wunsch'];
echo "<h4>Ihre Suchergebnisse</h4><p>\n<pre>\n";
$fp = fopen("telefonbuch.txt" ,"r");
while (!feof($fp)) {
$line = fgets($fp);
if (preg_match("/$wunsch/i", $line)) {
echo "\t$line";
}
}
fclose($fp);
} ?>
</body></html>
EWS, WS 2015/16, Pfahler
HTML
mit integrierten Programmstücken
in PHP:
Geklammert in <?php … ?>
Typische Syntax mit
Zuweisungen
Ablaufstrukturen (if, while, for)
● Funktionsaufrufen
●
●
Die PHP-Programmstücke werden
auf der Seite des Web-Servers
ausgeführt.
In den Übungen werden Sie solche
interaktiven dynamischen Anwendungen
entwerfen, programmieren und erproben.
B-6