Kommentarfunktion: Ich verzweifle gerade...

18/04/2012 - 18:47 von G.Bundschuh | Report spam
Hallo, die Herrschaften,

ich bin gerade am Verzweifeln.

Folgende Kommentarfinktion binde ich per include in meine Webseite,
aber das funktioniert einfach nicht und ich finde auch den Fehler nicht.
Ehrlich gesagt habe ich von PHP so gut wie keine Ahnung und habe
mir den Code aus dem Internet zusammengestückelt.

Was konkret nicht funktioniert ist die Sache mit der Rechenaufgabe.
Bitte: Kann da mal jemand ein Auge draufwerfen, ich mach da jetzt
schon ein paar Stunden dran rum und kann nicht mehr...

mfg Gerd

-


<script type="text/javascript">
function eingaben_ueberpruefen() {
if (document.Form.Kommentator.value.length < 4) {
alert("Sie haben noch keinen Namen eingegeben!");
document.Form.Kommentator.focus();
return false;
}
else if (document.Form.Kommentar.value.length < 10) {
alert("Bitte geben Sie einen Kommentar ein!");
document.Form.Kommentar.focus();
return false;
}
else if (document.Form.Kommentar.value.length > 500) {
alert("Der Kommentar ist zu lang!Maximal 500 Zeichen.");
document.Form.Kommentar.focus();
return false;
}
else {
return true;
}
}
</script>

<form name="Form" action="<?php echo $_SERVER["SCRIPT_NAME"] ?>"
method="POST" onSubmit="return eingaben_ueberpruefen();">
<table cellPadding="4" cellSpacing="0" Class="box1" style="margin: 20px;">
<tr>
<td style="background-color: #dddddd; vertical-align: top;">

<?php
if ($_SERVER['REQUEST_METHOD'] == "POST" and $_POST['number'] ==
md5($_POST['arithmetic'])) {
$Kommentar = strip_tags(stripCslashes(trim($_POST["Kommentar"])));
$Kommentar = str_replace(array("", "", '"'), " ", $Kommentar);
$dateiname = basename($_SERVER["SCRIPT_NAME"]);
$dateiname = str_replace(".php", ".txt", $dateiname);
$file = "./kommentar/kommentare/" . $dateiname;
$handler = fOpen($file, "a+");
fPuts($handler, "<p><b>" . $_POST["Kommentator"] .
"</b>&nbsp;schrieb&nbsp;am&nbsp;" .date("d.m.Y") ."&nbsp;um&nbsp;"
.date("H:i") .":<br>" . $Kommentar . "<br /></p>");
fClose($handler);
echo "<span style='color: #B94E0E;'>Ihr Kommentar wurde
gesendet.</span><p>&nbsp;</p>";

}
else {
?>
&raquo; <span onClick='if
(document.getElementById("kommit").style.display=="none")
{document.getElementById("kommit").style.display="block";}else{document.getElementById("kommit").style.display="none";}'
style="color: #B94E0E; text-decoration: none; cursor: pointer;">Ihr
Kommentar</span><br /><br />
</td>
</tr>

<tr>
<td>
<?php
}
$dateiname = basename($_SERVER["SCRIPT_NAME"]);
$dateiname = str_replace(".php", "", $dateiname);
$zahl1 = rand(1,15);
$zahl2 = rand(1,15);
$summe = md5($zahl1 + $zahl2);
?>
<div id="kommit" style="display: none; margin: 20px;">
Name: <input type="text" name="Kommentator" size="25" /><br /><br />
<textarea rows="6" cols="55" name="Kommentar"
title="Kommentar"></textarea><br />
<p>Bitte addieren Sie folgende Zahlen und tragen Sie sie in das Ergebnisfeld
ein:<br />
<input type="hidden" name="number" value="$summe" />
<?php echo $zahl1; ?>&nbsp;+&nbsp;<?php echo $zahl2; ?>
&nbsp;&nbsp;<input name="arithmetic" type="text" id="arithmetic" />
&nbsp;&nbsp;&nbsp;<input type="submit" value="Kommentar absenden" />
</div>
</td>
</tr>
<tr>
<td class=" box1" style="vertical-align: top;">
<div style="overflow: auto; height: 250px; width: 500px; font-size: 0.9em;
padding: 5px;">

<?php
// Kommentar-Ausgabe wenn vorhanden!
$ausgabe = "Noch keine Kommentare vorhanden.";
$pfad = "./kommentar/kommentare/" . $dateiname . ".txt";
for ($zaehler = 1; $zaehler < 6; $zaehler++) {
if (file_exists($pfad)) {
$ausgabe = file_get_contents($pfad);
}
else {
$pfad = "../" . $pfad;
}
}
echo $ausgabe;
?>

<br /><br />
</div>
</td>
</tr>
</table>
</form>
 

Lesen sie die antworten

#1 Ulf K.a.dner
19/04/2012 - 12:00 | Warnen spam
Am 18.04.2012 18:47, schrieb G.Bundschuh:

Folgende Kommentarfinktion binde ich per include in meine Webseite,
aber das funktioniert einfach nicht und ich finde auch den Fehler nicht.
Ehrlich gesagt habe ich von PHP so gut wie keine Ahnung und habe
mir den Code aus dem Internet zusammengestückelt.

Was konkret nicht funktioniert ist die Sache mit der Rechenaufgabe.



Mir fàllt es in Deiner PHP+JS+CSS+HTML-Wüste bereits schwer überhaupt
einen Überblick zu bekommen. Wird wohl den anderen hier auch nicht
anders gehen. Ich hatte schon 2x angefangen mir den Code anzuschauen
aber ich muss sagen, das ist mir zu wirr.

Klar Du als Anfànger must das erst noch lernen.

Da ich keine Lust habe das alles auseinander zufriemeln (nicht weil es
schwer ist sonder weil es mühsam ist) folgendes:

Du must zuerst mal herausfinden was Du mit "Funktioniert nicht" meinst.

- Liegt ein Fehler in der serverseitigen Programmlogik vor?
- Liegt ein Fehler in der clientseitigen Programmlogik vor?
- Liegt ein Fehler im resultierenden Ausgabeformat vor?
d.H. Entspricht der Output (HTML etc.) dem erwarteten und erlaubten?

Manchmal auch gern alles zusammen :-)

- Wie àußert sich der Fehler?

Wenn einfach nur nix passiert must Du z.B: den PHPden Code selbst
analisieren.

erster Schritt:

- display_errors=on und mind. error_reporting=E_ALL in php.ini setzen

Falls Du jetzt schreiben willst Das Du keinen Zugriff auf die php.ini
hast weil Du den Code auf einem produktiven System (z.B. Deinem
Webspace) testest, kann ich nur sagen das wir an der stelle aufhören
können. Immer in einer lokalen Entwicklungsumgebung testen weil man nur
dort PHP so konfigurieren sollte das Fehler angezeigt werden.

Du kannst auch ohne sogenannten Debugger manuell Deinen PHP-Code
analiesieren und so herrausfinden was genau er macht.

Einfach an der Stelle wo etwas für Dich fragwürdiges passiert mal mit
echo, print_f etc. Das ausgeben was Dich interessiert und so langsam
vorwàrts arbeiten.

Bitte: Kann da mal jemand ein Auge draufwerfen, ich mach da jetzt
schon ein paar Stunden dran rum und kann nicht mehr...



Ja lernen ist nicht einfach.

MfG, Ulf

Ähnliche fragen