1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
|
< HTML>
<head><title>Ein kleines nettes Gaestebuch</title></head>
<body>
<!--
// Hier wird das Forumlar für die Eingabe einer neuen Nachricht
// ausgegeben
-->
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<table border="0">
<tr><td>Name:</td><td><input name="name"></td></tr>
<tr><td>EMail:</td><td><input name="mail"></td></tr>
<tr><td colspan="2">Text:</td></tr>
<tr><td colspan="2"><textarea name="text"></textarea></td></tr>
<tr><td colspan="2" align="center"><input type="submit" value="Eintragen"></td></tr>
</table>
</form>
<?PHP
// Die Funktion muss man nicht kapieren ;)
// für alle die sie kapieren wollen:
// diese funktion schaut als erstes im $_POST Array nach ob $string als key in
// diesem Array definiert ist, ist er das so wird der Wert zurück gegeben,
// ist er es nicht so wird im $_GET Array nach dem selben key geschaut, ist
// der Key dort vorhanden wird dieser wert genommen und zurück geliefert,
// ist er auch dort nicht vorhanden so wird $default zurückgeliefert, $default // ist default maessig "" (also leer)
// Aber ansonsten gilt einfach immer schön copy pasten ;)
function GetVar($string, $default = "")
{
return (isset($_POST[$string]) ? $_POST[$string] : (isset($_GET[$string]) ? $_GET[$string] : $default));
}
// die Datei in der die ganzen Eintraege gespeichert werden
$file = "./eintraege.txt";
// Dieser special dient zur Trennung der einzelnen Daten in der
// Textdatei, schau dir am besten den Inhalt der Textdatei an
// dann versteht man des ganz schnell, am besten nicht aendern ;)
$special = "MEIN_TOTAL_GENIALER_SPECIAL\r\n";
// wenn ein Eintrag gemacht werden soll
// dann sind diese Variablen nicht leer.
$name = GetVar("name");
$mail = GetVar("mail");
$text = GetVar("text");
if($name != "" && $text != "")
{
// um den neuen Eintrag in die Datei schreiben zu können wird
// die datei aufgemacht und durch des a+ ganz ans ende gesprungen
$hfile = fopen($file,"a+");
// dann schreiben wir in die Datei "$name\r\n$mail\r\n$text\r\n$special"
// wobei dieses komische \r\n immer eine neue Zeile bedeutet
fwrite($hfile, "$name\r\n$mail\r\n$text\r\n$special");
// dann schliessen wir die Datei wieder.
fclose($hfile);
}
// gibts die Datei nicht sind noch keine Eintraege gemacht worden.
if(file_exists($file)) {
// diese Zeile gibt mir eine Liste wieder,
// in der ein Eintrag pro Zeile der Datei ist.
$content = File($file);
// haben wir eine Liste (Array) und ist der count des Arrays > 0 dann haben wir einträge
if(is_array($content) && count($content) > 0) {
echo "<table border=\"0\">";
// die gesamte anzahl an linien in $content
$count = count($content);
// durch alle Eintraege durchgehen
for($i = 0; $i < $count;)
{
// Ist unser counter $i plus 1 groesser als der gesamte $count dann is des ende erreicht
if($i + 1 >= $count) { break; }
if($content[$i] == $special || $i == 0) {
// ist $i > 0 (nicht mehr am Anfang) dann ist die Linie an der Stelle $i = dem $special
if($i > 0) { $i++; }
// Name ausgeben und $i um eins erhöhen
echo "<tr><td>Name: <b><font color=\"#0000FF\">".trim($content[$i++])."</font></b></td>";
// Mail 2 * ausgeben und $i beim zweiten mal um eins erhöhen
echo "<td>Mail: <b><font color=\"#0000FF\"><a href=\"mailto:".trim($content[$i])."\">".trim($content[$i++])."</a></font></b></td></tr>";
echo "<tr><td colspan=\"2\">Text:</td></tr>";
echo "<tr><td colspan=\"2\"><font color=\"#0000FF\">";
// solange die Zeile $i aus der Datei noch nicht $special ist,
// ist es noch Text von dem Eintrag.
// also ausgeben und eine Zeile weiter durch $i++
do {
echo trim($content[$i++])."<br />";
}while($i < $count && $content[$i] != $special);
echo "</font></td></tr>";
echo "<tr><td colspan=\"2\"><hr></td></tr>";
}
}
echo "</table>";
}
}
?>
</body>
</ HTML> |