webForumDet fria alternativet
Logga in / Bli medlem

Sortera gästboksfil!

PHP

3 svar · 255 visningar · startad av klockren

Medlem sedan sep. 200151 inlägg
Trådstart#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]

Medlem 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. :)

Medlem 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. :)

Medlem sedan sep. 200151 inlägg
#4

Tackar! Ska genast prova...

259 ms totalt · 4 externa anrop · v20260731065814-full.50d4b5bd
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)