Skriptsprachen

Neuntes Übungsblatt, 02.07.2009

Web-Anwendungen in PHP

Hier ist der Quellcode des PHP-Gästebuches, das in der Vorlesung vorgestellt wurde:
<html>
<head>
   <title>My Guestbook</title></head>
<body>
   <h1>Welcome to my Guestbook</h1>
   <h2>Please write me a little note below</h2>
   <form action="<?php echo $_SERVER['PHP_SELF'] ?>"
         method="POST">
      <textarea cols=40 rows=5 name="note" wrap=virtual>
      </textarea>
      <input type=submit value="Send it">
   </form>
   <?php
   $fname = "notes.txt";
   if (isset($_POST['note'])) {
      $entry = $_POST['note'];
      if (get_magic_quotes_gpc())
         $entry = stripslashes($entry);
      $entry = htmlspecialchars($entry);
      $fp = fopen($fname, "a");
      fputs($fp, '<p>' . nl2br($entry) . '</p>');
      fclose($fp);
   }
   ?>
   <h2>The entries so far:</h2>
   <?php readfile($fname); ?>
</body>
</html>

Aufgabe 1

Erweitern Sie das Gästebuch so, dass der Benutzer in 2 zusätzlichen Felder seinen Namen und (wenn er möchte) seine Email-Adresse eingeben kann. In der Ausgabe der bisherigen Gästebuch-Einträge sollen Name und Datum des Eintrages hervorgehoben ausgegeben werden. Wurde eine Email-Adresse eingegeben, soll sie durch eine mailto-Verknüpfung dargestellt werden. Testen Sie Ihr Skript auf dem Webserver sks.cs.upb.de.

Aufgabe 2

Verwenden Sie das PHP-Session-Management um Namen und Email-Adresse persistent zu speichern. Beim wiederholten Besuch der Gästebuchseite sollen die entsprechenden Formularfelder bereits ausgefüllt sein.