webForumDet fria alternativet

Sortera gästboksfil!

3 svar · 253 visningar · startad av klockren

klockrenMedlem sedan sep. 200151 inlägg
#1

Tjena,
jag har gjort en (mycket) enkel gästbok, som fungerar bra. Dock hamnar alla nya inlägg längst ner, jag skulle helst vilja ha dem överst... Hur gör jag det enklast, har trixat en massa men inte kommit på något!

MVH
Jonas

<?
$filename = "guestbook.txt";

if ($name) {
$message = str_replace("<", "<", $message);
$message = str_replace(">", ">", $message);
$message = str_replace("\n", "<br>\n", $message);

// Se till att http:// finns i url:en.
if (!(substr($url, 0, 7) == "http://"))

$url = "http://" . $url;
$tid = date("y-m-d (H:i)");

// Öppna filen i "append"-läge
if ($fd = (fopen($filename, "a"))) {
// Skriv i filen
fwrite($fd, "Från: <b>$name</b><br>\n");
fwrite($fd, "E-post: <a href=\"mailto:$email\">$email</a><br>\n");
fwrite($fd, "URL: <a href=\"$url\" target=\"_blank\">$url</a><br>\n");
fwrite($fd, "Datum: 20$tid\n<p>");
fwrite($fd, $message);
fwrite($fd, "\n<hr width=90%>\n");
fclose($fd);
} else {
print("<B>ERROR: cannot open guestbook file for writing\n");
}

}

// Öppna filen i "read"-läge
if ($fd = (fopen($filename, "r"))) {
$contents = fread ($fd, filesize ($filename));
fclose ($fd);
// Skriv ut filen i html-dokumentet
print($contents);
} else {
print("<B>ERROR: cannot open guestbook file for reading\n");
}
?>

<b>SKRIV I VÅR GÄSTBOK!</B><a name="sign">&nbsp;</a><br>
<FORM ACTION="index.php?guestbook" METHOD="POST">
  <TABLE>
    <TR>
      <TD>Namn: </TD>
      <TD>
        <INPUT type=text size=30 name=name>
      </TD>
    </TR>
    <TR>
      <TD>E-post: </TD>
      <TD>
        <INPUT type=text size=30 name=email>
      </TD>
    </TR>
    <TR>
      <TD>URL: </TD>
      <TD>
        <INPUT type=text size=30 name=url>
      </TD>
    </TR>
    <TR>
      <TD>Meddelande: </TD>
      <TD>
        <TEXTAREA NAME="message" ROWS="10" COLS="25"></TEXTAREA>
      </TD>
    </TR>
  </TABLE>
  <P> 
    <INPUT type=submit VALUE="Lägg till">
</FORM>

[Redigerat av klockren den 20 dec 2001]

SPiNMedlem sedan mars 20007 896 inlägg
#2

Istället för att skriva ut det du läser från filen, lägg in det i en array och läs det bakifrån. :)

------------------
SPiN, bjorne.w@telia.com

-- En ask vet jag stånda - den Yggdrasil heter, ett väldigt träd överöst av vita sanden. --

KimMedlem sedan jan. 20007 697 inlägg
#3

Öppna filen med "a", läs in hela filen i en variabel, radera allt innehåll i den nyss inlästa filen, skriv in ditt nya meddelande som då kommer hamna längst upp, fyll därefter på med det gamla innehållet som du har i din variabel. :)

------------------
de'nim

klockrenMedlem sedan sep. 200151 inlägg
#4

Tackar! Ska genast prova...

263 ms totalt · 3 externa anrop · v20260731065814-full.30151723
135 ms — hämta forumlista (db)
126 ms — hämta statistik (db)
133 ms — hämta tråd, inlägg och bilagor (db)