Übung 4
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>PHP-Kurs: Übung Telefonbucheingabe</title>
</head>
<body>
<?php
# eingabefelder aus dem globalen Array uebernehmen und sauebern
$vorname = sauber($_POST["vorname"]);
$nachname = sauber($_POST["nachname"]);
$telefon = sauber($_POST["telefon"]);
# Ausgabe des Formulars
echo "<h1>Mein Telefonbuch</h1>
<form action=\"" . $_SERVER["PHP_SELF"] . "\" method=\"post\">
Vorname: <input type=\"text\" name=\"vorname\" value=\"" . $vorname . "\">
Nachname: <input type=\"text\" name=\"nachname\" value=\"" . $nachname . "\">
Telefon: <input type=\"text\" name=\"telefon\" value=\"" . $telefon . "\">
<input type=\"submit\" name=\"abgeschickt\" VALUE=\"Speichern\">
</form>
<hr>";
# Ausgabe von Servervariablen (ohne Funktion)
echo "Browser: " . $_SERVER["HTTP_USER_AGENT"] . "<br>";
echo "Adresse: " . $_SERVER["REMOTE_ADDR"] . "<br>";
# wenn submit-knopf geklickt wurde:
if (isset($_POST["abgeschickt"])) {
echo "<hr>";
# ueberpruefen, ob in alle Felder auch was eingegeben wurde
# dabei Fehlerstatus setzen
$fehler = 0;
if(empty($vorname)) {
$fehler = 1;
$fehlertext = "Vorname";
}
if(empty($nachname)) {
$fehler = 1;
$fehlertext .= " Nachname";
}
if(empty($telefon)) {
$fehler = 1;
$fehlertext .= " Telefon";
}
# wenn der Fehlerstatus nicht gesetzt wurde, zeile speichern
if($fehler == 0) {
$dh = fopen("telefonbuch.inc", "a");
$eintrag = $vorname . "#" . $nachname . "#" . $telefon . "\n";
fputs($dh, $eintrag);
fclose($dh);
echo "Eintrag erfolgreich gespeichert";
} else {
echo "Eingabe unvollständig, es fehlt: " . $fehlertext;
}
}
# html-tags und ueberfluessige leerzeichen entfernen
function sauber($text) {
$text = strip_tags($text);
$text = trim($text);
return($text);
}
?>
</body>
</html>