Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Wo ist bloß mein Fehler???

Hallo Forum,

habe ein einfachstes Gästebuch geschrieben. Und es will nicht funktioniern, nein, will es nicht! Vielleicht könnt Ihr mir helfen. Kurze info vorab: Name, Betreff und Text werden in eine selbst erstellte txt-Datei übernommen - ABER nicht wiedergegeben. Ich habe keinen Schimmer, woran es liegt. Nachfolgend mein Script:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Gaestebuch</title>
</head>
<body>
<?php
include("gastbuch.php");
?>

<hr>Mein Gästebuch</hr>

<?php
echo $fehler;
?>

<form action="<?php echo $PHP_SELF; ?>" method="post">
<input type="hidden" name="sent" value="1">
<p>Ihr Name:<br>
<input type="text" name="name" size="30" value="<?php echo $name; ?>">
<br>
Betreff:<br>
<input type="text" name="betreff" size="30" value="<?php echo $betreff; ?>">
<br>
Ihr Gemeckere:<br>
<textarea name="message" rows="10" cols="30" wrap="virtual">
<?php echo $message; ?>
</textarea>
<br>
<input type="submit" value="abschicken">
</form>
<hr>

<?php
$eintrag=file('gast.txt');
$ausgabe="<br>";
$temp=count($eintrag)-1;

for($i=$temp;$i>=0;$i--);
{
$element=explode('~',$eintrag[$i]);
$ausgabe.="<table>";
$ausgabe.="<tr><td><b>".$element[1]."</b></td></tr>";
$ausgabe.="<tr><td>".$element[0]."</td></tr>";
$ausgabe.="<tr><td>".$element[2]."</td></tr>";
$ausgabe.="</table>";

}
echo $ausgabe
?>





</body>
</html>

Wäre nett, wenn sich jemand die Zeit nehmen könnte...

Grüße, Bernd

Hier gehts zum Orginal Eintrag "Wo ist bloß mein Fehler???" im Forum

Antworten

Hallo Bernd.....

jo.... was willst Du mit Deiner Anfrage erreichen, wenn wir nicht sehen können wie Dein Gästebuch vorgeht, weil Du das Script nicht anhängst?!?!

BTW: Im Forum gibt es Formatierungsmöglichkeiten (siehe den entsprechenden Link neben dem Antwortkasten!) für Quellcode! Nutze diese bitte, dann läßt sich das ganze leichter lesen.

Gruß

Arno


2.

Hi,

danke für den Tipp, Arno. Nun ja, das Skript hab ich nur deswegen nicht angehängt, weil das Gästebuch eigentlich funktionierte - nur das Darstellen der einzelnen Beiträge eben nicht. In eine .txt-Datei (mit fopen() erzeugt) werden die Einträge ja reingestellt.

Aber jetzt liefere ich nach:

Code:                   In Zwischenablage kopieren (nur IE)
1">

Sollte der Fehler hier liegen?

MfG, Bernd


3.

Um den Fehlöer einzugrenzen: Wird die Datei denn so erstellt, wie Du es Dir vorstellst?


4.

Hallo oimel,

also, wenn Du die Textdatei gast.txt meinst: JEIN.

Das Problem ist: Alles wird schön reingeschrieben, aber nicht jedes Mal in eine neue Zeile, sondern hintereinander... Könnte da der Fehler liegen?

Grüße, Bernd


5.

Da hilft ein "\n" oder für Windows ein "\r\n" am Ende einer Zeile.

*** Nobody ***


6.

also grundsätzlich würde ich schreiben

Code:                   In Zwischenablage kopieren (nur IE)
2">

Das funktioniert zuverlässiger.


7.

@nobody: hast natürlich recht - bei mir gehört da noch ein \r rein (bin ich blöd!!!!!!)

@oimel: geht klar, es wird jetzt auch alles korrekt angezeigt in der .txt-datei

danke euch beiden!

das problem, dass er die einträge nicht anzeigt, besteht noch. wisst ihr vielleicht rat?
ich hab jetzt acht stunden fehlersuche hinter mir, das macht einen echt kirre..

grüße, bernd


8.

Nun, also 8 Stunden suche für so n kurzes Skript kann ich eigentlich nicht glauben. Hier mal ne Anleitung, wie man den Fehler garantiert innerhalb weniger Minuten findet:

Richtig debuggen
1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
2. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
3. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
4. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
5. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
6. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
7. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.


9.

acht stunden deshalb, weil ich ein absoluter newbie bin. übrigens: wir waren zu zweit beim suchen;)

ich hab die geschichte ja auch so weit eingegrenzt, dass soweit alles funktioniert:
name, betreff und text werden eingegeben
angaben werden (inzwischen) in der gast.txt korrekt dargestellt

also muss der fehler theoretisch in dem anhang liegen, der sich mit der ausgabe in der html-tabelle befasst.

damit wäre ich also bei punkt 6 ;)


10.

Nein, Du bist bei Punkt 3!


11.

wahrscheinlich hast du recht.

wie gesagt, ich bin blutiger anfänger, routine (auch im debuggen) muss ich mir erarbeiten...

gehe ich richtig in der annahme, dass dir beim überfliegen des codes kein gravierender fehler aufgefallen ist?


12.

Ja, und der einzige Weg ist jetzt eben, sich alle Variablen, die vorkommen, mal mit einem echo ausgeben zu lassen usw.


13.

ok, werde ich machen. vielen dank für deine hilfe!

ich sag bescheid, wenn ichs hingekriegt habe (muss nicht unbedingt in diesem jahr sein :))


Hier gehts zum Orginal Eintrag "Wo ist bloß mein Fehler???" im Forum
 
phpforum.de | Impressum