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 aktuelle Daten (über das Wetter, Flugverbindungen Börsenkurse usw.) eingearbeitet werden.
Ein php-Programm muss auf dem Web-Server z.B. als ~benutzer/www/echo.php gespeichert werden. Wenn es durch https://webserver/benutzer/echo.php aufgerufen wird, führt der Server das Programm aus und liefert das Ergebnis aus.
Beispiele und Übungen:
Datum ausgeben
<?php
echo date("d.m.Y");
?>Speichere in Datei echo.php
Übermittelte Daten anzeigen mit
<?php
$benutzer = $_POST("benutzer");
echo "Hallo, $benutzer.<br />";
echo "Dein Kennwort lautet " . $_POST["kennwort"] . ".<br />";
?>Speichere in Datei post.php
Die Daten werden über ein HTML- Formular übermittelt:
<form action="login.php" method="POST">
Benutzername: <input name="benutzer" /><br />
Kennwort: <input name="kennwort" /><br />
<input type="submit">
</form>Speichere in login.html
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);
?>Speichern in zeige.php und stelle eine Datei daten.txt bereit.
Aufgabe 1
Speichere die Beispielprogramme der Reihe nach auf dem Server in der Textdatei
Aufgabe 2
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 3
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 4
E-Mail-Server
a) Sende Nachricht text an
Empfänger empfaenger
b)
Hole 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)