---
title: "+r och syntax fel.. problem :)"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/14510-r-och-syntax-fel-problem"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Matti"
published: "2000-04-12T10:12:00.000Z"
updated: "2000-04-14T05:40:00.000Z"
replies: 6
views: 422
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/14510-r-och-syntax-fel-problem"
---

# +r och syntax fel.. problem :)

## #1 — Matti, 2000-04-12T10:12Z

Tjo! 

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:

```
$filnamn = "msg.txt";
$fd = fopen ( $filnamn, "r+" );
fwrite ($fd, "\n\n<b>Namn:</b> <a href=mailto:$email>$namn</a> [$today] \n");
fwrite ($fd, "<br><b>Hemsida:</b> <a href=http://$hemsida>$hemsida</a>\n");
fwrite ($fd, "<br><b>Meddelande:</b> $meddelande<br><br>");
fwrite ($fd, "<!-- Denna snubbe kom från $REMOTE_ADDR , $HTTP_HOST -->\n\n ");
fclose ($fd);
```

Vad ska jag skriva för att alla nya meddelanden ska hamna högst upp?

Permalänk: https://www.webforum.nu/p/14510

## #2 — nicclas, 2000-04-12T10:40Z

Hejsan,

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...

/nicclas @ <http://www.nic-sys.se> 

\[Redigerat av nicclas den 12 apr 2000\]

\[Redigerat av nicclas den 12 apr 2000\]

\[Redigerat av nicclas den 12 apr 2000\]

Permalänk: https://www.webforum.nu/p/310722

## #3 — emission, 2000-04-12T22:31Z

Faktum är att det inte blir så särskilt långsamt.

Gör gärna en återanvänbar funktion av det hela, så slipper du tänka på det i fortsättningen. Prepend($file,$string) bli'la bra.

Permalänk: https://www.webforum.nu/p/310723

## #4 — Kim, 2000-04-13T08:26Z

Vad gör Prepend() då?

Permalänk: https://www.webforum.nu/p/310724

## #5 — nicclas, 2000-04-13T12:08Z

Hejsan,

"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 :) )

/nic @ <http://www.nic-sys.se>

Permalänk: https://www.webforum.nu/p/310725

## #6 — Matti, 2000-04-13T14:57Z

Jag skulle gärna använda mig av mysql.. men alltså mysql fungerar inte på min server :(

Ska testa koden ovan om en stund :)

Permalänk: https://www.webforum.nu/p/310726

## #7 — Batboy, 2000-04-14T05:40Z

> (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.

Permalänk: https://www.webforum.nu/p/310727

---

Tråden på webben: https://www.webforum.nu/amne/php/14510-r-och-syntax-fel-problem
