emaibi: include und so..

hi,
ich hab da mal ein kleines script gemacht. also meine php kenntnisse sind nicht sehr gross also kann es sein das ich einen kleinen schribfehler mit komma oder so gemacht habe.

also ich will eine shoutbox darstellen und wenn die adresse so ist: index.php?shout=last
dann kommen die 5 neusten einträge

und so
index.php?shout=shout_entries

und so ist das ganze script:

<?php
$handle = fopen ("shout_entries.txt", "r");
$inhalt="";
$zaehler=1;
while ((!feof($handle)) AND ($zaehler<=5))
  // d.h. es werden max. 5 Zeilen eingelesen;
  // wenn die Datei kuerzer ist, wird vorher abgebrochen.
 {
  $inhalt .= fgets($handle, 4096);
  $zaehler++;
 }
fclose ($handle);

if (!isset($shout)) { $shout="last"; }
if ($shout="last")) { echo $inhalt; }
if ($shout="shout_entries")) { include($site.".txt"); }
 else { echo " <br><b><center>ups..</center></b><br> "; }
?>

wo ist der fehler?
ich hoffe mir kann geholfen werden..
grüsse emaibi

  1. hi,
    ich hab da mal ein kleines script gemacht. also meine php kenntnisse sind nicht sehr gross also kann es sein das ich einen kleinen schribfehler mit komma oder so gemacht habe.

    also ich will eine shoutbox darstellen und wenn die adresse so ist: index.php?shout=last
    dann kommen die 5 neusten einträge

    und so
    index.php?shout=shout_entries

    sorry, eben wenn das ist dan kommen ale einträge!

    und so ist das ganze script:

    <?php
    $handle = fopen ("shout_entries.txt", "r");
    $inhalt="";
    $zaehler=1;
    while ((!feof($handle)) AND ($zaehler<=5))
      // d.h. es werden max. 5 Zeilen eingelesen;
      // wenn die Datei kuerzer ist, wird vorher abgebrochen.
     {
      $inhalt .= fgets($handle, 4096);
      $zaehler++;
     }
    fclose ($handle);

    if (!isset($shout)) { $shout="last"; }
    if ($shout="last")) { echo $inhalt; }
    if ($shout="shout_entries")) { include($site.".txt"); }
     else { echo " <br><b><center>ups..</center></b><br> "; }
    ?>

    wo ist der fehler?
    ich hoffe mir kann geholfen werden..
    grüsse emaibi

  2. Hallo emaibi,

    while ((!feof($handle)) AND ($zaehler<=5))
      // d.h. es werden max. 5 Zeilen eingelesen;
      // wenn die Datei kuerzer ist, wird vorher abgebrochen.

    wie sind denn die Daten in der Datei gespeichert? In jeder Zeile ein Eintrag, oder hintereinanderweg, mit einem Trennzeichen?

    if (!isset($shout)) { $shout="last"; }

    $shout ist je nach Einstellung von register_globals nie gesetzt - verwende $_GET['shout']

    if ($shout="last")) { echo $inhalt; }

    da fehlt noch ein '=' - verglichen wird nämlich mit '==' (siehe http://www.php.net/manual/de/language.operators.comparison.php). Außerdem ist es sinnvoller das auslesen der ersten 5 Einträge erst zu machen, wenn feststeht, dass $_GET['shout'] auch wirklich 'last' enthält (bzw. nicht gesetzt ist) - sonst werden die Daten umsonst abgefragt.

    if ($shout="shout_entries")) { include($site.".txt"); }

    wo kommt $site her?

    else { echo " <br><b><center>ups..</center></b><br> "; }

    das wird immer ausgegeben wenn $_GET['shout'] nicht 'shout_entries' ist.

    wo ist der fehler?

    welcher Fehler? du hast überhaupt nicht verraten, was eigentlich nicht funktioniert und ob es einen Fehler gibt, und wann ja, welchen ...

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|