Ik heb heb een shoutbox script gekregen, maar als een bericht wordt gepost, post hij onderaan terwijl ik wil dat de nieuwe berichten bovenaan staan. Dit is het script:

<?php

if(isset($_POST['verstuurformulier']))
{
if(isset($_POST['naam']) && isset($_POST['bericht']))
{
$naam = htmlspecialchars($_POST['naam']);
$bericht = nl2br(htmlspecialchars($_POST['bericht']));
$content = '<b>'.$naam.'</b><br>'.$bericht.'<br>';
}else{
echo 'Je moet wel alles invullen!';
exit;
}
$bestand = 'shout.txt';

if(is_writable($bestand))
{
if(!$handeling = fopen($bestand, 'a'))
{
echo 'Error<br />
er is iets mis gegaan';
exit;
}

if(fwrite($handeling, $content) === FALSE)
{
echo 'Error<br />
er is iets mis gegaan';
exit;
}

echo 'Je shout is toegevoegd';

fclose($handeling);

}else{
echo "Het bestand is niet beschrijfbaar!";
}
}else{
?>
Het hele bestand inlezen. Nieuwe bericht wegschrijven en dan het oude erachter schrijven.
Of je vervangt 'a' door 'r+', dan begint hij bovenaan. Volgens mij.

Makkelijker is om dit soort vragen gewoon in je oude topic te houden, dan weet iedereen waar het over gaat. Nu heb jij 4 topics nodig.

Systeempje is overigens van mij, altijd leuk om erbij te vermelden.
Bedoel je dat ik het .txt-bestand moet wissen en dan alles opnieuw posten?
neen je moet het txt bestand uitlezen de nieuwe inhoud er in plaatsen en dan de oude inhoud er achter
Arjan Kapteijn schreef op 08.01.2006 01:03
Of je vervangt 'a' door 'r+', dan begint hij bovenaan. Volgens mij.

Makkelijker is om dit soort vragen gewoon in je oude topic te houden, dan weet iedereen waar het over gaat. Nu heb jij 4 topics nodig.

Systeempje is overigens van mij, altijd leuk om erbij te vermelden.


A door r+ vervangen helpt niet, Hierdoor wordt het oude bericht vervangen door een nieuw bericht.
Of je bent een vent en maakt een connectie met een database. Overzichterlijker, sneller, veiliger, efficienter en je kan er dan veel meer mee.
Arjan Kapteijn schreef op 08.01.2006 01:34
Of je bent een vent en maakt een connectie met een database. Overzichterlijker, sneller, veiliger, efficienter en je kan er dan veel meer mee.


Wat dat met 'vent zijn' te maken heeft weet ik niet. Misschien is ie juist een vent omdat ie het nog met de veel lastigere methode doet, een file. Of misschien heeft ie wel geen database.
Richard schreef op 08.01.2006 01:22

A door r+ vervangen helpt niet, Hierdoor wordt het oude bericht vervangen door een nieuw bericht.


Weet je het zeker?

php.net

r+' Openen voor lezen en schrijven; plaats de bestands pointer aan het begin van het bestand.

php.net

w+' Openen voor lezen en schrijven; plaats de bestands pointer aan het begin van het bestand en maak het bestand 0 bytes lang. Als het bestand niet bestaat, probeer het aan te maken.


Zoals ik het lees zou r+ moeten werken, en zou w+ moeten doen, wat jij zegt...

Reageren