![]()
wcf.regNote.message
|
|
PHP Source code |
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>
|

