• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage zur Shoutbox

Status
Für weitere Antworten geschlossen.

dominik

Neues Mitglied
Hallo.
ich habe mir letztens aus einem GB ne Shoutbox gezimmert.
Diese Shoutbox läuft nur mit PHP (ohne Datenbank).

Die Einträge werden in einer .txt Datei gespeichert.
Leider werden immer alle nachrichten angezeigt, ich will jedoch gerne, das nur die letzten XX nachrichten ausgegeben werden.
Will aber nicht, das dann unten seite 1 von 5 stehtoder so.
Also so, das nur die letzten XX nachrichten zu sehen sind.

Der Quelltext der daten sieht wie folgt aus:
Eintrag.php
PHP:
<html>
<head>
<meta http-equiv="refresh" content="10; url=eintrag.php">
</head>
<body bgcolor="#ffffff" alink="000000" link="000000" vlink="000000">
<?php
$beitrag = file("kommentar.txt");
krsort($beitrag);

foreach($beitrag as $ausgabe)
   {
   $ausgabe = stripslashes($ausgabe);
   $zerlegen = explode("|", $ausgabe);

   echo "
<a href=\"javascript:alert('Dieser Beitrag ist vom $zerlegen[2]');\"><img src=\"uhr.gif\" border=\"0\"></a> <font size=\"2\" face=\"verdana\" color=\"#000000\"><b><a href=\"http://www.coaster-park.de/forum/profile.php?mode=viewprofile&u=$zerlegen[1]\" target=\"_top\">$zerlegen[1]</a>:</b> $zerlegen[3]</font><br>   

   ";
   }
?>
<?php
if(!file_exists("count2.txt"))
{$counter=fopen("count2.txt", "a");}
else
{$counter=fopen("count2.txt", "r+");}
$aufruf=fgets($counter,100);
$aufruf=$aufruf+1;
rewind($counter);
fputs($counter,$aufruf);
fclose($counter);
echo ;
?> 
</body>

neuerkommentar.php
PHP:
<html>
<head>
<title>G?stebuch - Speichere Beitrag</title>
<meta http-equiv="refresh" content="1; url=http://www.coaster-park.de/forum/index.php#kommentar">
</head>
<body>

<?php
$user = $_POST["Name"];
$user = htmlentities($user);

$inhalt = $_POST["inhalt"];
$inhalt = htmlentities($inhalt);
$inhalt = str_replace("\n", " ", $inhalt);

$email = $_POST["EMail"];
$email = htmlentities($email);

if ($inhalt == "" or $user == "")
   {
   echo "Sie m?ssen das Feld \"Namen\"
   und \"Inhalt\" ausf?llen";
   }

else
   {
   $datum= date("d.m.Y H:i");

   $eintrag="$email|$user|$datum|$inhalt";

   $datei = fopen("kommentar.txt", "a");
   fwrite($datei, "\n".$eintrag);
   fclose($datei);

   echo "Ihr Eintrag wurde erfolgreich gespeichert";
   }
?>

<br>
<?php
if(!file_exists("count.txt"))
{$counter=fopen("count.txt", "a");}
else
{$counter=fopen("count.txt", "r+");}
$aufruf=fgets($counter,100);
$aufruf=$aufruf+1;
rewind($counter);
fputs($counter,$aufruf);
fclose($counter);
echo ;
?> 

</body>
</html>

kommentar.txt
Code:
[email protected]|Domitz|17.11.2006 16:16|text
[email protected]|Domitz|17.11.2006 16:21|nachricht
[email protected]|Domitz|17.11.2006 16:28|test
[email protected]|-Tim-|17.11.2006 16:29|test test
[email protected]|Domitz|17.11.2006 16:29|laaaa
</html>[/code]

Könnt ihr mir da eventuell weiterhelfen?
Schonmal recht vielen Dank.
LG Dominik
 
Werbung:
Keine Frage: Wieso arbeitest du ohne DB :?:

Das ist doch wesentlich einfacher und eleganter...


@topic: Wenn ein neuer Beitrag geschrieben wird, dann hol erstmal den gesamten Text aus der Datei, pack den neuen Beitrag an den Anfang des Arrays und löscht die letzten Elemente des Arrays. Dann schreibst du jedes Element aus dem Array in die Textdatei.


Nen Code kann ich dir aber leider nicht geben, mit den File-Funktionen kenne ich mich nicht so aus :oops:
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben