Textdatei auslesen -> Probleme mit Aktualisierung.

C4T

Erfahrenes Mitglied
Hi,

bin noch anfänger in sachen PHP und mache meine ersten Gehversuche.
Habe mir ein Formular erstellt wo ich einen Newstext rein schreibe um diesen dann auf die Newsseite einer Homepage zu übertragen, sprich zu includen.
Es wird auch automatisch immer das aktuelle Datum mit Uhrzeit vor jedem Post eingefügt.
Alles funktioniert wunderbar, jedoch wenn die Newsseite aufgerufen wird und man beim Browser auf Refresh drückt, fügt er mir quasi immer einen neuen (leeren) Kommentar mit Datum ein.
Sprich, es folgt ein Eintrag beim Refreshen und das soll nicht sein.
Könnt ihr euch mal meinen Code anschaun und mir ne Lösung für mein Problem geben ?
Lacht nicht über den Code :D
Habe keine andere Lösung gefunden.
PHP:
<?php
$datum=date("d.m.Y")." - ".date("H:i:s");
$datum = ("<b>$datum</b>");
$news = $datum .= "\n<br>".$news.= "\n<br><br>";
$datei = "news.txt";
$fp = fopen($datei,"a");
fwrite($fp,$news);
fclose($fp);	
include ($datei);
?>

Gruß,
C4T
 
Du lässt also bei jedem Aufruf dieser Seite etwas in die datei eintragen? Wenn ja, wie kommen die Daten denn zu dieser Script? POST, GET oder wie?
 
Ich habe eine einfache Datei mit Formular, wo ich den Newstext eingebe.
Hier der Code:
PHP:
form name="form1" method="post" action="newsseite.php">
<textarea name="news" cols="100" rows="10"></textarea>
<br><br>
<input name="senden" type="submit">
</form>

Der Inhalt geht dann weiter an newsseite.php.
Die News werden also in news.txt geschrieben und dann eben in der newsseite.php in einer Tabelle includet (siehe oben).
 
Dann probier es mal so.
PHP:
<?php 
$datum=date("d.m.Y")." - ".date("H:i:s"); 
$datum = ("<b>$datum</b>"); 
$news = $datum .= "\n<br>".$news.= "\n<br><br>"; 
$datei = "news.txt"; 
$fp = fopen($datei,"a"); 
fwrite($fp,$news); 
fclose($fp);
unset($_POST);     
include ($datei); 
?>
Und sprich die Variablen, die vom Formular kommen via $_POST['FELDNAME'] an. So ist es üblich.
 
Hmm, jetzt ist dieses Problem zwar behoben, aber nur kurzfristig.
Denn wenn ich Refresh drücke, kommt die Fehlermeldung (siehe Anhang).
Wenn ich dann auf wiederholen klicke, haut er mir den eben eingetragenen Newstext nochmal in meine Textdatei ;(

Und das mit dem Variablen ansprechen, meisnt du das so ?
PHP:
<form name="form1" method="$_POST['news']" action="newsseite.php">
 

Anhänge

  • fehler.gif
    fehler.gif
    7,2 KB · Aufrufe: 47
Nein. Wenn du ein Formular via POST verschickst, dann musst du die Felder aus dem Formular via $_POST['FELDNAME'] ansprechen. Wenn du das Formular via GET abschickst, dann halt mit $_GET['FELDNAME'].
 
fanste hat gesagt.:
Nein. Wenn du ein Formular via POST verschickst, dann musst du die Felder aus dem Formular via $_POST['FELDNAME'] ansprechen. Wenn du das Formular via GET abschickst, dann halt mit $_GET['FELDNAME'].

:/ Sorry, ich verstehe das noch nicht so richtig.
Wenn ich das so machen würde wie du es beschreibst, würde es dann funktionieren ?
Habe mal meine 3 kleinen Dateien in ein Zip File gesteckt.
Vielleicht kann mich da jemand nochmal aufklären.
Gruß,
C4T
 

Anhänge

Yo fanste, danke dir.
Das hätte ich alleine sicherlich niemals hin bekommen.
Muss ich mir aber nochmals genauer anschaun.
Da blick ich überhaupt nicht mehr durch nach deinem Eingriff ;)
Naja, werde mal mein Manual bemühen.
Thx !

C4T
 
So viel hab ich garnicht gemacht.
1. If hinzugefügt => solltest du kennen.
2. ob_start(), ob_flush(),... => de.php.net/ob_start
3. header() => de.php.net/header

Das wars doch schon.
 
Zurück