[PHP] problem mit NEWS-script

freddmann

Neuling
Thread Starter
Mitglied seit
05.10.2005
Beiträge
230
ich bin dabei für die band eines Kumpels die website zu bauen. damit ich nich ständig deren hauptseite aktualisieren muss, wenn sie neue news haben wollen, habe ich versucht ein gästebuch script umzuschreiben. mein problem ist jetz, dass neue scripts immer unten drunter landen, aber nicht oben. hier könnt ihr es mal testen: klick mich
die einträge werden einer datei namens daten.dat gespeichert.
da man bei php-dateien den quelltext nicht anguggn kann, post ich ihn mal.

1. news.php
Code:
<form method="post" action="news2.php">
NAME: <input type="text" name="name" maxlength="50"><br>
BETREFF: <input type="text" name="betreff" maxlength="100"><br>
TEXT: <textarea name="text" rows=4 cols="20" ></textarea><br>
<input type="submit" name="Button" value="NEWS eintragen">
</form>
kleine erklärung: die eingegebenen sachen werden an die news2.php weitergeleitet.

2. news2.php
Code:
<? //übermittelt die Daten auf Variablen

$name = $HTTP_POST_VARS["name"];
$text = $HTTP_POST_VARS["text"];
$betreff = $HTTP_POST_VARS["betreff"];

?>


<?  // übermitteln der Variablen für Datum und Uhrzeit
$date = getdate();


$dat="$date[mday].$date[mon].$date[year]";


$zeit="$date[hours]:$date[minutes]:$date[seconds]";
?>


<?
$daten="Name:$name
<br> schrieb am $dat um $zeit:<br>
$send Betreff:$betreff<p> $text<br><br><hr>  ";

$datenbank = "daten.dat"; //legt die Datei daten.dat auf eine variable
$datei = fopen($datenbank,"a"); //öffnet die Datei zum Hineinschreiben
fwrite($datei, $daten); //schreibt die oben beschriebene Var. in Datei
?>
<meta http-equiv="refresh" content="1; URL=index.html">
kleine erklärung: hier werden die daten, die von der news.php gesendet wurden, in die daten.dat geschrieben und zum schluss wird der nutzer autom. auf die index. html geleitet.

3. index.html
Code:
<html>
<head>
<title>PHP-NEWS-SCRIPT</title>
<meta name="author" content="Dieter">
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
	<div class="box2">
<br>
<?php
$datenbank = "daten.dat"; // Werte festlegen in der Datei daten.dat

$datei = fopen($datenbank,"r"); // $datenbank wird zum lesen geöffnet

fpassthru($datei); // Ausgeben der Daten
?>


</div>
</body>
</html>
kurze erklärung: hier wird die daten.dat ausgelesen und dem benutze halt die news angezeigt

ums nochmal aufn punkt zu bringen: neue news sollen oben stehen und nicht unter den alten.

kann mir jemand helfen?
wenn ihr was nich versteht, dann fragt^^
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
anstatt die daten gleich auszugeben musst du diese erst in einen array speichern und dann gibst du diesen innerhalb einer for schleife umgekehrt wieder aus

ich hab mal das thema ins richtige forum gemoved
 
Zuletzt bearbeitet:
kannst du mir das mit dem array mal näher erklären?! hab keinerlei php-erfahrungen. das is das erste mal, dass ich was damit mache.
 
PHP:
$line = array();
while(!feof($datei)){
	$line[] = stream_get_line($datei, 1000000000, "\n"); 
}
for($i = count($line); 0 < $i; $i--){
	echo $line[$i];
}
^^ das ganze anstatt des fpassthru($datei);
ist allerdings ungetestet!!
 
Zuletzt bearbeitet:
Fatal error: Call to undefined function: stream_get_line() in /usr/export/www/vhosts/funnetwork/hosting/kollaps/neu/index.html on line 18
das is bei dieser zeile:
Code:
    $line[] = stream_get_line($datei, 1000000000, "\n");
 
dann anstatt stream_get_line halt fread

$line[] = fread($datei, 1000000000);
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh