Shoutbox...

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Domitz
Mitglied
Beiträge: 209
Registriert: 18.11.2006 17:29

Shoutbox...

Beitrag von Domitz »

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

Code: Alles auswählen

<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

Code: Alles auswählen

<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: Alles auswählen

domitz@gmx.de|Domitz|17.11.2006 16:16|text
domitz@gmx.de|Domitz|17.11.2006 16:21|nachricht
domitz@gmx.de|Domitz|17.11.2006 16:28|test
email@domitz.com|-Tim-|17.11.2006 16:29|test test
domitzgmx.de|Domitz|17.11.2006 16:29|laaaa
</html>[/code]

Könnt ihr mir da eventuell weiterhelfen?
Schonmal recht vielen Dank.
LG Dominik
Benutzeravatar
Ambience
Mitglied
Beiträge: 628
Registriert: 02.09.2006 11:28
Wohnort: daheim
Kontaktdaten:

Beitrag von Ambience »

bastel dir eine schleife, die immer eine zeile hohlt und dann noch eine zahl hochzählen bis 15 z.B und dann abrechen und ausgeben. mom ich hab da irgendwo noch ein script meines chattes.

hier:

Code: Alles auswählen

function get_chat_message($room_id)
  {
    $this->room_id = $room_id;
    $this->delete_chat_message($this->room_id);
    $this->fopen_file = file('rooms/' . $this->room_id . '.txt');
    $this->count = count($this->fopen_file);
    
    for ($i = 0; $i < 20; $i++)
    {
      $this->message .= $this->fopen_file[$i]. '<br />';
    }
    
  }
so und die forschleife bricht nach 20 runden ab.
Domitz
Mitglied
Beiträge: 209
Registriert: 18.11.2006 17:29

Beitrag von Domitz »

Hi, also ich habs mal eingebaut, aber das bewirkt irgendwie nichts :(

Trotzdem schonmal Dankeschön =)
Benutzeravatar
Ambience
Mitglied
Beiträge: 628
Registriert: 02.09.2006 11:28
Wohnort: daheim
Kontaktdaten:

Beitrag von Ambience »

du sollst auch nicht meinen code nehmen sondern einen eigenen machen. meiner war nur eine inspiration.
Antworten

Zurück zu „Coding & Technik“