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 UniTelefonbuch</h3> <?php // Typischer Aufbau einer PHPSeite: 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 UniTelefonbuch</h3> <?php // Typischer Aufbau einer PHPSeite: 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
© Copyright 2024 ExpyDoc