Vraag & Antwoord

Webprogrammeren & scripting

Nieuwsscript (2)

Anoniem
Vegitto
4 antwoorden
  • Ik heb een tijdje geleden een nieuwsscriptje geschreven, helemaal zelf (oh, daar ben ik zo trots op), maar nu heb ik ontdekt dat wat er nu gebeurt helegaar niet de bedoeling is. Nu wordt het vorige item verwijderd, en overschreven door het nieuwe. Het is echter de bedoeling dat het oude item naar onder verplaatst wordt, en dat het nieuwe bovenaan komt. Hoe doe ik dit? Dit is de code:

    [code:1:83ad271fc7]<?php
    $d = date("r");
    $file = "nieuws.txt";
    $file2 = "datum.txt";
    $msg = $_POST['msg'];
    $pass = $_POST['pass'];
    $date = $_POST['date'];

    unlink ("nieuws.txt");
    fopen ("nieuws.txt","a+");
    unlink ("datum.txt");
    fopen ("datum.txt","a+");

    if(empty($pass) || empty($msg) || empty($date)) {
    echo "<h3>Alle velden zijn verplicht.</h3>";
    }
    if ($pass === "WACHTWOORD")

    {
    $fp = fopen($file,"a");
    $fp2 = fopen($file2,"a");
    fwrite($fp, "\r\n<BR><BR><BR><B>Datum</B>: $date \r\n<BR> \r\n<BR><B>Bericht</B>: $msg \r\n<BR>");
    fwrite($fp2, "\r\n<BR><B>Laatste update</B>: $date");
    fclose($fp);
    fclose($fp2);
    echo "<h3><center>Het nieuwsitem is toegevoegd.</h3>";

    }
    elseif ($pass !="WACHTWOORD") {
    echo "<H3>Uw wachtwoord is niet correct. Probeer het opnieuw.</center></H3>";
    }
    ?>[/code:1:83ad271fc7]
  • Ik begrijp dus dat je de nieuwe berichten erboven wil zetten, je kan dit proberen:

    [code:1:8722c752e7]
    <?php
    $fp = $fopen($file,'w');
    $contents = fread($fp, filesize($file));
    fwrite($fp, "\r\n<BR><BR><BR><B>Datum</B>: $date \r\n<BR> \r\n<BR><B>Bericht</B>: $msg \r\n<BR>".$contents);
    fclose();
    ?>
    [/code:1:8722c752e7]

    Ik kan nu even niet testen of het werkt, maar probeer het maar eens zou ik zeggen.

    Waarom gebruik je trouwens geen database, een database is veel makkelijker voor dit doel en het is dan ook veel makkelijker om evt. berichten aan te passen.
  • Ik gebruik geen database omdat mijn server dat niet heeft, anders was het probleem al lang opgelost. Je bedoelt dat ik de [code:1:40787fa200]{
    $fp = fopen($file,"a");
    $fp2 = fopen($file2,"a");
    fwrite($fp, "\r\n<BR><BR><BR><B>Datum</B>: $date \r\n<BR> \r\n<BR><B>Bericht</B>: $msg \r\n<BR>");
    fwrite($fp2, "\r\n<BR><B>Laatste update</B>: $date");
    fclose($fp);
    fclose($fp2);
    echo "<h3><center>Het nieuwsitem is toegevoegd.</h3>";

    }[/code:1:40787fa200] moet vervangen door [code:1:40787fa200]{
    $fp = $fopen($file,'w');
    $contents = fread($fp, filesize($file));
    fwrite($fp, "\r\n<BR><BR><BR><B>Datum</B>: $date \r\n<BR> \r\n<BR><B>Bericht</B>: $msg \r\n<BR>".$contents);
    fclose();
    }[/code:1:40787fa200]?
    Ik zal het testen, iig bedankt ;).
  • Je moet zelf natuurlijk het datum.txt gedeelte nog even toevoegen…

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.