Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

probleem: Berichten php-scriptje

Pagina: 1
Acties:

Onderwerpen


Verwijderd

Topicstarter
-PROBLEEM OPGELOST, DANKJE!-

Beste Tweakers!

dus, hoe kan ik maken dat bij het volgende scriptje, als je een textje submit in de form, het niet de hele file (berichten.txt) veranderd, maar enkel een regel toevoegt aan het bestand, zonder dat de voorgaande regel verwijderd wordt.. het lukt me maar niet.
m'n broer vertelde me dat hier wel iemand zou zijn die me zou kunnen helpen!

met vriendelijke groet;

Robadub
-

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?
$filename = "berichten.txt";

if(!file_exists($filename)) { $a = fopen($filename,"a"); fclose($a); }


if(isset($_GET['submit'])) {
    $bestand  = fopen($filename, "w");
    $nieuwetekst = $_POST['ta'];
    if(fwrite($bestand, $nieuwetekst)) {
        echo("gelukt!<br /><a href=\"berichten.php\">ok</a>");
    } else {
        echo("mis!<br /><a href=\"berichten.php\">ok</a>");
    }
    fclose($bestand);
} else {
    $bestand  = fopen($filename, "r"); 
    $inhoud   = fread($bestand, filesize($filename));
?>

    <form method="post" action="<?=$_SERVER['PHP_SELF']?>?submit=1">
        
<input type="text" name="ta" value="<?=$inhoud?>" />

        <input type="submit" value="testn!" />
    </form>
<?php

    fclose($bestand);
}
?>

  • posttoast
  • Registratie: April 2000
  • Laatst online: 11:48
Mooie jongen, die broer van je. Wat heb je zelf al geprobeerd? Je maakt gebruik van de fopen() functie in de wmode (fopen($filename, "w")). Kijk hier maar eens wat dat betekent: http://php.net/manual/en/function.fopen.php

omniscale.nl


  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 15:58
Je moet iets inserten aan het eind van de file, oftewel de modus van fopen() op 'a' zetten.

Verwijderd

Topicstarter
Avalaxy: Dankje, fopen modus op 'a' zetten werkte meteen !
posttoast, dankje evenzeer voor uw reactie !

tweakers: i like ! nog nooit zo snel een antwoord gekregen !

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op dinsdag 18 januari 2011 @ 18:03:
tweakers: i like ! nog nooit zo snel een antwoord gekregen !
Als je volgende keer onze Quickstart zou willen hanteren dan doe je ons ook een lol ;) We zijn hier niet zo gek op Kan iemand even...?-topics :Y)

[ Voor 17% gewijzigd door RobIII op 18-01-2011 18:06 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 15:58
Verwijderd schreef op dinsdag 18 januari 2011 @ 18:03:
tweakers: i like ! nog nooit zo snel een antwoord gekregen !
Houdt alleen wel in gedachten dat het hier geen vraagbak is waar je al je vragen neer kunt plempen ;) Volgende keer eerst even wat meer zoeken wat de functies die je gebruikt exact doen op http://php.net :)

edit: zie @Rob3 ^

Verwijderd

Topicstarter
Sorry mensen (bij deze m'n lesje geleerd dus :D)!
ik hou er mee rekening in het vervolg & zal mijn best doen om ook actief te zijn hier op tweakers, het staat me erg aan!

  • ReenL
  • Registratie: Augustus 2010
  • Laatst online: 14-09-2022
Als ik nog wat extra commentaar op de code mag geven:
1) Echo is geen functie, maar een language contruct, net als include en require, dus geen haakjes gebruiken;
2) Als je html aan het echo'en bent gebruik dan enkele quotes, dat scheelt escapen:
PHP:
1
echo '<div class="voorbeeld">Dit is veel makkelijker</div>';

3) Ik weet niet precies wat het doel is, maar als je nu het volgende post:
code:
1
"><script>alert('hallo');</script>

Dan krijg je waarschijnlijk een onverwacht resultaat. Gebruik hiervoor htmlentities ( http://php.net/htmlentities )
4) Kijk ook naar file_get_contents;
5) <?=$_SERVER['PHP_SELF']?> Kan ook onverwachte resultaten geven, gebruik ook hier htmlentities;

Niet bedoeld om af te kraken, maar tot je bovenstaande verbeteringen hebt uitgevoerd zou ik dit niet live zetten.

Veel plezier met php! :)
Pagina: 1