include und so..
emaibi
- php
0 emaibi0 Tobias Kloth
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
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ägeund 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
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