<html>
<head>
<title>PHP Beispiel 2: Formularauswertung und Abspeichern</title>
</head>
<body>
<a href="s2.phps">Quellcode</a>
<h1><a href="index.html">PHP</a> Beispiel 2: Formularauswertung und Abspeichern</h1>
<?php
# Wir verwenden "Superglobal" $_REQUEST[] zum Zugriff auf Formulareingaben
$name = $_REQUEST['name'];
$age = $_REQUEST['age'];
$html_name = htmlspecialchars($name);
$html_age = htmlspecialchars($age);
if ($name && $age > 0) {
# Beides ausgefuellt.
echo "Hallo <strong>$html_name</strong>, bist Du wirklich $html_age Jahre alt?<p>";
if ($age < 20) {
echo "Du bist wirklich jung ... !<p>";
} else if ($age < 30) {
echo "Du bist jung, aber noch nicht reif :-)";
} else {
echo "Du bist jung und reif :-).";
}
# Abspeichern in eine Datei:
# $source_log = basename($REQUEST_URI);
$logger = "tmp/s2.log";
$fp = fopen( $logger, "a");
# fuer Webserver muss Zugriff auf die Datei gegeben sein !
$string = date('d. F Y H:i') . " - " . $name . ", $age Jahre alt.\n";
if (!($ok = fwrite($fp, $string, strlen($string))))
echo "Fehler beim Schreiben der Logdatei.\n";
fclose($fp);
echo "<P>Die eingegebenen Daten werden nun in eine
<a href=\"$logger\">Logdatei</a> geschrieben.";
exit;
}
if (isset($_REQUEST['ausgefuellt'])) {
# irgendwas nicht ausgefuellt ?
if (! isset($_REQUEST['name']) || $_REQUEST['name'] == '')
$name_error = 'Bitte Namen ausfüllen!';
if (! isset($_REQUEST['age']) || $_REQUEST['age'] <= 0)
$age_error = 'Bitte Alter angeben!';
}
?>
<form action="s2.php" method="post">
<input type="hidden" name="ausgefuellt" value="1">
Name: <input type="text" name="name" value="<?php echo $name ?>">
<?php echo $name_error; ?><BR>
Alter: <input type="text" name="age" value="<?php echo $age ?>">
<?php echo $age_error; ?><br>
<input type="submit" value="Absenden"><br>
</form>
</body>
</html>