Gå til innhold

Shoutbox script problem


Anbefalte innlegg

Hallo

 

jeg har nå prøvd å legge til shoutbox script på hjemmesiden min,

denne funker så å si sånn som den skal, bortsett fra at antall "shout" som skal lagres ikke blir stemmen overens med det jeg velger

 

f.eks:

<?php
error_reporting(0);
$datfile = "shoutbox.txt";
$MAX_LENGTH = 50;
$NUM = 20;

$nick=$_GET["nick"];
if (!$nick)
{ $name = ">>"; }
else $nick .= ":";

$cxl=$_GET["cxl"]; 
$cxl = preg_replace("/</","<",$cxl);
$cxl = preg_replace("/>/",">",$cxl); 
$ip = $_SERVER["REMOTE_ADDR"];
$datetime = date("r");

$comfile = file($datfile);
if ($cxl != "") {
if (strlen($cxl) < $MAX_LENGTH) {
$fd = fopen ($datfile, "w");
$c = stripslashes($cxl);
fwrite ($fd, "<p>
<div style=\"visibility: hidden;\">
IP: $ip Dato: $datetime</div>
<b>$nick</b><br />$cxl</p>\n");
for ($i = 0; $i < $NUM; $i++) {
fwrite ($fd, $comfile[$i]);
}
}
fclose($fd);
}
Header("Location: $HTTP_REFERER");

?>

 

Her er den satt til 20 ($NUM = 20;) men er bare 7 (mener jeg det var) som blir lagret om gangen

 

 

noen som vet/ser hva som er feilen her?

 

 

mvh

Jokaim

Endret av jokkakim
Lenke til kommentar
Videoannonse
Annonse

Skjønner ikke hvordan du får til at dette skal fungere i det hele tatt.. Etter det jeg kan skjønne utifra lesning er at siste melding, og kun den, vil bli lagret..

 

Grunnet at fopen med W kun gir write+truncate, og ikke append..

 

Jeg ville enten valgt å legge alle meldinger i forskjellige filer, eller brukt file() til å lage array av filen (som du har gjort), kjørt en for-loop for å hente ut de 19 første meldingene til en string, lagt den første meldingen til denne stringen, og skrevet filen.

 

feks:

 

$fil = file($datfile);
for($a=0;$a<=19;$a++)
{$innhold = $innhold .= $fil[$a]."\n";}
$innhold .= "<p><div style=\"visibility: hidden;\">IP: $ip Dato: $datetime</div><b>$nick</b><br />$cxl</p>\n";}

 

Uansett, nå tror jeg at jeg så feilen din mens jeg skrev dette..

Du må fjerne newlinene i htmlkoden din :)

 

Endre dette:

fwrite ($fd, "<p>

<div style=\"visibility: hidden;\">

IP: $ip Dato: $datetime</div>

<b>$nick</b><br />$cxl</p>\n");

til

fwrite ($fd, "<p><div style=\"visibility: hidden;\">IP: $ip Dato: $datetime</div><b>$nick</b><br />$cxl</p>\n");

EN linje ;)

Endret av Axentrix
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...