probs mit nem t.o.t.m. (= topic of the moment) script

naja ich hab folgendes problem:
das script soll ein von (irgend)einem user vorher definiertes topic of the moment ausgeben... praktisch eine textzeile die jeder user ändern kann... jo ich weiss is irgendwie sinnlos aber irgendwie scho cool zu sehn was da zustande kommt.. hehe...

das script sieht so aus:
PHP:
<?php
$tfile = "./php-bin/msgbox/topic.txt";
if ($msg == $msg) {
while ($msg != $topic) {
$topen = fopen($tfile,"r");
flock($topen,2);
$topic = fgets($topen,90);
fclose($topen);
$topen = fopen($tfile,"w");
fseek($topen,0);
flock($topen,2);
fputs($topen,$msg);
flock($topen,3);
fclose($topen);
}
echo $topic;
} else {
$topen = fopen($tfile,"r");
fseek($topen,0);
$topic == fgets($topen,90);
fclose($topen);
echo $topic;
}
?>

Also beim ersten Seitenaufruf wird garnix ausgegeben. aber wenn man selbst ein totm setzt, dann sieht man es, und es wird auch im file geändert... auch beim ersten seitenaufruf steht was im file...

weiss einer an was das liegen könnte? ach ja das file is eigentlich im selben ordner wie das script, aber ich include das script in der index.php...
 
PHP:
<?php
$tfile = "./php-bin/msgbox/topic.txt";
if ($msg == $msg) { // ??? ($msg == $msg) ergibt logischerweise immer true...
  while ($msg != $topic) {
    $topen = fopen($tfile,"r");
    flock($topen,2); // würde ich weglassen
    $topic = fgets($topen,90);
    fclose($topen);
    $topen = fopen($tfile,"w");
    fseek($topen,0); // s.o.
    flock($topen,2); // s.o.
    fputs($topen,$msg);
    flock($topen,3); // s.o.
    fclose($topen);
  }
  echo $topic;
}
else {
  $topen = fopen($tfile,"r");
  fseek($topen,0); // s.o.
  $topic == fgets($topen,90); // soll wohl eine Zuweisung sein, kein Vergleich, also '=' statt '=='
  fclose($topen);
  echo $topic;
}
?>

Andere Version:
PHP:
<?php
$tfile = "./php-bin/msgbox/topic.txt";

if (isset($msg))
{
  $fp = fopen($tfile, "w");
  fputs($fp, $msg);
  fclose($fp);
}

readfile($tfile);
?>
Hab's nicht getestet, sollte aber so funktionieren.


reima
 
$msg wird durch ein formular übergeben... die variable is nur nachm abschicken des formulars vorhanden... ich versuchs glaich mal so wies du vorgeschlagen hast...

e:
hey danke, deine version funktioniert... ich sollte mir das mit isset mal anschaun, hab das kapitel wohl übersprungen bei meinem phph buch... danke nochmal
 
Zuletzt bearbeitet:
Zurück