PHP für dynamische Antwortseiten

Gegenüber statischen Webseiten, die immer denselben Inhalt anzeigen, werden dynamische Webseiten erst bei ihrem Abruf "on the fly" erstellt. So können altuelle Daten (über das Wetter, Flugverbindungen Börsenkurse usw.) eingearbeitet werden.

Beispiele:

  • Datum ausgeben

    <?php
        echo date();
    ?>

    dazu im Vergleich mit Javascript:

    <script>
        document.write(new Date());
    </script>

  • Übermittelte Daten anzeigen mit

    <?php
        print_r($_POST);
    ?>

    oder

    <?php
        $benutzer = $_POST("
    benutzer");
        echo "Hallo, $benutzer.<br />";
        echo "Dein Kennwort lautet " . $_POST["
    kennwort"] . ".<br />";
    ?>

    Die Daten wurden zuvor in folgendem Formular abgefragt:

    <form action="login.php" method="POST">
        Benutzername: <input name="
    benutzer" /><br />
        Kennwort: <input name="
    kennwort" /><br />
        <input type="submit">
    </form>

  • Den Inhalt einer Datei zeilenweise lesen und anzeigen:

    <?php
    $handle = fopen ("daten.txt", "r");
    while (!feof($handle)) {
        $buffer = trim(fgets($handle));
        if ($buffer == $_POST["benutzer"]) {
            echo "Hallo " . $buffer . ".<br />";
        }
    }
    fclose ($handle);
    ?>

Weiteres bei www.php.net: Sprachreferenz, Funktionsreferenz



Aufgabe

Besucherzähler

Die Anzahl der Besucher ist in einer Datei gespeichert. Bei jedem Besuch wird diese Zahl aus der Datei gelesen, um 1 erhöht und angezeigt und dann aktualisiert wieder in der Datei abgelegt.



Aufgabe

Die Gültigkeit eines Kennworts kann nicht mit Javascript überprüft werden. (Warum eigentlich?)
Vielmehr muss das Kennwort an einen Server gesendet werden, wo Benutzername und Kennwort mit den dort gespeicherten Daten verglichen werden.

In einer Textdatei können zum Beispiel die folgenden Daten stehen:

Hans geheim
Erna montag7
Paul ragazzi

Ein Programm auf dem Server soll diese Daten lesen und in der Form

Benutzer Hans hat das Kennwort "geheim".
...

ausgeben.

Anleitung: Die Daten werden wieder zeilenweise gelesen: $buffer = trim(fgets($handle));
Nun ist in $buffer zum Beispiel "Hans geheim" gespeichert.
Benutzername und Kennwort sind durch ein Leerzeichen getrennt, deshalb wird der Datenpuffer an dieser Stelle aufgetrennt:

$daten = split(" ",$buffer);

In $daten[0] steht nun der eingetragene Benutzername, in $daten[1] das Kennwort.

Aufgabe

E-Mail-Server

a) Sende Nachricht text an Empfänger empfaenger
b) H
ole neue Nachrichten für Benutzer benutzer mit Kennwort kennwort.
c) Portal mit Anmeldung (Benutzername, Kennwort)
    Nach Anmeldung Möglichkeit, Nachricht an andere zu senden und eigene Post anzurufen.
    Anzeige persönlicher Daten (z.B. Liste der Kontaktpersonen)