I min gästbok använde jag a+ för att öppna och skriva till en fil, men då hamnade ju alla nya inlägg längst ner på sidan. Därför ändrade jag det till +r men då skrivs bara ett meddelande till filen? När nästa besökare skriver till filen ersätts det senaste inlägget med det nya.. min kod:
Ja, detta är ett litet helvete. Givet att man skall göra en lösning som baseras sig på en textfil kommer du själv att behöva skriva kod som lägger ditt nya inlägg först. Enklast löser man det enklast genom att läsa in hela "skiten" till en sträng, addera det nya först i strängen, och spara tillbaka.
Det säger sig själv att detta inte är snabbt, så alternativet att använda typ MySQL är nog inte så tokigt.
Här kommer i alla fall ett försök:
<?
$dagboksfil="msg.txt";
$hela="\n\n<b>Namn:</b> <a href=mailto:$email>$namn</a> [$today] \n";
$hela .="<br><b>Hemsida:</b> <a href=http://$hemsida>$hemsida</a>\n";
$hela .="<br><b>Meddelande:</b> $meddelande<br><br>";
$hela .="<!-- Denna snubbe kom från $REMOTE_ADDR , $HTTP_HOST -->\n\n ";
$fpread = fopen($dagboksfil, 'r') or die;
$hela .= ltrim(Chop(fread($fpread, 99999)));
fclose ($fpread);
$fpwrite = fopen($dagboksfil, 'w') or die;
fputs($fpwrite,$hela);
fclose($fpwrite);
?>
Tyvärr hinner jag inte provköra denna kod. Men kommer du/någon på något som fungerar bättre så är jag intresserad...
"emission" tänkte sig nog att man borde göra en funktion (som heter Prepend) av koden jag skrev. Appropå hastigheten har "emission" säkert (även där) rätt! (Jag återkommer med mitt MySQL förslag när det visar sig att Matti vill skriva ut gästboken på flera sidor :) )
(Jag återkommer med mitt MySQL förslag när det visar sig att Matti vill skriva ut gästboken på flera sidor)
Jag skulle gärna vilja se det förslaget redan nu.. jag har ingen gästbok, men dock andra MySQL saker som skulle må bra av att presenteras på flera sidor istället för en.