Hi.
Also, ich bastle gerade ein eigenes Gästbuch. Das Formular sieht so aus:
---------------------------------------------------
<h2>Gästebuch</h2>
<form action="sons/eintragen.php" method="post">
<p>Eintrag hinterlassen:</p>
<table width="100%" border="0">
<tr>
<td>Name*:</td>
<td><input type="text" name="input_name" size="50"></td>
</tr>
<tr>
<td>E-Mail:</td>
<td><input type="text" name="input_email" size="50"></td>
</tr>
<tr>
<td>Homepage:</td>
<td><input type="text" name="input_hp" size="50" value="http://"></td>
</tr>
<tr>
<td valign="top">Eintrag*:</td>
<td><textarea name="input_comment" rows="10" cols="50">
</table>
<table width="100%" border="0" style="text-align:center;">
<tr>
<td width="50%"><input type="submit" value="Eintrag einfügen"></td>
<td width="50%"><input type="reset" value="Alles Eingetragene löschen"></td>
</tr>
</table>
</form>
<p>*) Diese Felder müssen ausgefüllt sein, sonst erhalten sie eine Fehlermeldung</p>
<hr>
<br>
<?php
require("eintraege.txt");
?>
---------------------------------------------------
Sieht auch perfekt aus. Dann die Datei "eintrage.php":
---------------------------------------------------
<?php
// Einträge auswerten
// Fehlerzähler
$i=0;
// erster Schritt: Vollständigkeit überprüfen
// Wenn kein Name angegeben
if ($input_name == ""){
$i++;
$fehler1="Kein Name angegeben";
}
// Wenn kein Kommentar
if($input_comment == ""){
if(isset($fehler1)){
$i++;
$fehler2="Kein Kommentar abgegeben";
}
else{
$i++;
$fehler1="Kein Kommentar abgegeben";
}
}
// Wenn keine Fehler aufgetreten sind, Entwarnung geben
if($i==0){
echo("<h4 class="noerror">Es sind keine Fehler aufgetreten.</h4><br>\n");
fctInsCom();
}
// Wenn Fehler aufgetreten sind, diese auflisten
if($i!=0){
echo("<h3 class="warn">Es sind folgende Fehler aufgetreten:<br></h3>\n");
echo("<h4 class="error">Fehler 1: ".$fehler1."<br></h4>\n");
if(isset($fehler2)){
echo("<h4 class="error">Fehler 2: ".$fehler2."<br></h4>\n");
}
echo("<br><h5 class="goback">Bitte gehen sie <a href="javascript:history.back()">zurück</a> und füllen bitte alle Felder aus.</h5>");
}
// Eintrag hinzufügen
function fctInsCom(){
if($i!=0){
echo("Kein Eintragen möglich");
}
else{
$input_name=htmlentities($input_name);
$input_name="<strong>Name: </strong>".$input_name."<br>\n";
$input_email=htmlentities($input_email);
$input_email="<strong>Email: </strong><a href="mailto:"".$input_email."">$input_email</a><br>\n";
$input_hp=htmlentities($input_hp);
$input_hp="<strong>Homepage: </strong><a href="".$input_hp."">".input_hp."</a>";
$input_comment=htmlentities($input_comment);
$imput_comment="<strong>Kommentar: </strong>".$input_comment."<br>\n";
echo("<br>\nFolgendes haben sie eingetragen:<br>\n");
echo($input_name);
echo($input_email);
echo($input_hp);
echo($input_comment);
}
}
?>
---------------------------------------------------
Wie ihr seht, entferne ich erst aus jedem Eintrag die HTML-Tags und formatiere dann das eingetragene, damit sie später, wenn sie eingetragen werden (ich trage sie in Dateien ein, also keine Datenbank), und dann ausgegeben werden, eine gute Formatierung haben.
Doch momentan gebe ich nur das Eingetragene aus. Doch es wird, egal was man einträgt, immer nur "Name: ", "Email: " und "Homepage: " ausgegeben, aber nicht das, was es sollte. Nicht mal die Eingaben stehen dabei...
Seht ihr auch keinen Fehler, oder bin ich einfach zu blöd für das?
danke für die Zeit
euer ulli