anoniem Geplaatst: 29 april 2002 Delen Geplaatst: 29 april 2002 Mijn PHP script/gastenboek loopt als een trein (mede dankzij enkele mede forummers :smile: ) Maar nu is het zo dat alle nieuwe aantekeningen onderaan de pagina worden bijgeschreven terwijl het zo leuk zou zijn om hem juist steeds bovenaan bij te laten schrijven, zodat de laatste aantekening steeds bovenaan staat. Een vriend van me heeft dat, maar daar staat het gastenboek in een database, en mijn gastenboek is slechts een txt file die m.b.v. SSI ingevoegd word in een html pagina. Aangezien ik (nog) geen verstand heb van databases vroeg ik me af of het mogelijk was om het script zelf de bovenkant van het document op te zoeken en daar bij te schrijven. Weet iemand of dit mogelijk is en zo ja hoe? Quote Link naar reactie
anoniem Geplaatst: 29 april 2002 Auteur Delen Geplaatst: 29 april 2002 Ok, gebruik dit principe: 1) Open de file alsvolgt: fopen($filename, "w+"); 2) Lees de inhoud in en stop deze in een varibele. 3) Plak bovenstaande variabele achter (!) de inhoud van het nieuwe bericht. 4) Schrijf de boel naar het bestand. Quote Link naar reactie
anoniem Geplaatst: 1 mei 2002 Auteur Delen Geplaatst: 1 mei 2002 Ik heb het volgende gedaan: Om de oude waarde in variabele $oud te zetten: [code:1:f48db1fb18] $uitvoerbestand = "comment.txt"; $oud = fopen($uitvoerbestand, "w+"); fclose($oud); [/code:1:f48db1fb18] De nieuwe aantekening gaat in $nieuw: [code:1:f48db1fb18] $nieuw = "<font size=2><b>Reactie van $naam:</b><br>$reactie<p>; [/code:1:f48db1fb18] en dan samen opnieuw: [code:1:f48db1fb18] $bestandsindex = fopen($uitvoerbestand,"a"); fwrite($bestandsindex, "$nieuw $oud"); fclose($bestandsindex); [/code:1:f48db1fb18] Gevolg is dat de nieuwe aantekening het oude overschrijft, dus al wat over blijft is die ene nieuwe aantekening. Niet echt handig dus :smile: Verder verschijnt de geheimzinnige melding: Resource id #1 onder het bericht. _________________ My name is Bond! Consumenten Bond! [ Dit bericht is bewerkt door: Gooly op 2002-05-01 13:48 ] Quote Link naar reactie
anoniem Geplaatst: 1 mei 2002 Auteur Delen Geplaatst: 1 mei 2002 [code:1:0058927cba] <?php $nieuw = "hallo" . time(); //Lees oude data in $filename = "comment.txt"; $fd = fopen($filename, "r"); $oud = fread($fd, filesize($filename)); fclose($fd); //Schrijf nieuwe + oude data weg $fd = fopen($filename, "w+"); fwrite($fd, $nieuw . $oud); fclose($fd); ?> [/code:1:0058927cba] [edit] Even de code aangepast zodat ie ook echt werkt :wink: De variabele $nieuw moet je natuurlijk aanpassen in datgene dat uit je formulier komt. [/edit] _________________ Waar blijft mijn glazen bol? [ Dit bericht is bewerkt door: Bill Gates op 2002-05-01 14:09 ] Quote Link naar reactie
anoniem Geplaatst: 1 mei 2002 Auteur Delen Geplaatst: 1 mei 2002 Yep, ik heb de boel werkend. Ik zag al dat ik o.a. R en W verkeerd had gebruikt (betekend Read en Write neem ik aan?) Waarvoor stond de 'a' dan in mijn eerdere script? Ik ben hier n.l. begonnen met een scriptje dat ik ooit uit c!t heb gevist en dat inmiddels helemaal heb verhaspelt naar mijn eigen wensen. Ik begin het steeds leuker te vinden, dat PHP :smile: Op dit moment typ ik nog te vaak dingen over die ik niet begrijp, maar ik probeer er dan steeds maar achter te komen waarom dat nou zo moet. Vandaar dat me nu de die 'a' pas opviel, omdat ik r en w al doorheb hehe Quote Link naar reactie
anoniem Geplaatst: 1 mei 2002 Auteur Delen Geplaatst: 1 mei 2002 Zie: http://www.phpfreakz.nl/artikelen.php?aid=24&print=1 en hier: http://php.mirror.widexs.nl/manual/en/function.fopen.php Quote Link naar reactie
anoniem Geplaatst: 1 mei 2002 Auteur Delen Geplaatst: 1 mei 2002 a staat voor append wat toevoegen betekend de andere twee had je goed gegokt. Quote Link naar reactie
anoniem Geplaatst: 2 mei 2002 Auteur Delen Geplaatst: 2 mei 2002 [quote:db18535a4b] Op 01-05-2002 20:14 schreef mvwinger: a staat voor append wat toevoegen betekend de andere twee had je goed gegokt. [/quote:db18535a4b] Goed he? :smile:) Maar ben er inmiddels al achter. Ik zit al tot mijn oren in de sites die Bill net aangaf :smile: Tnx. Quote Link naar reactie
anoniem Geplaatst: 2 mei 2002 Auteur Delen Geplaatst: 2 mei 2002 Die onderste link, hmm daar zal je wel vaker terecht komen als je echt in php wil gaan programeren, het adres is ook makkelijker te onthouden http://www.php.net/manual/nl/ of http://www.php.net/manual/en/ Maar erg nuttige handleiding ik kom er erg vaak. [ Dit bericht is bewerkt door: mvwinger op 2002-05-02 10:39 ] Quote Link naar reactie
anoniem Geplaatst: 2 mei 2002 Auteur Delen Geplaatst: 2 mei 2002 nog makkelijker te onthouden: http://www.php.net/functienaam Quote Link naar reactie
anoniem Geplaatst: 2 mei 2002 Auteur Delen Geplaatst: 2 mei 2002 Nog makkelijker: Een scriptlet: Deze moet je toevoegen aan je favorieten, dan kan je door iets te selecteren en er op te klikken dat ding opzoeken, of door er op te klikken en iets in te typen. [code:1:aa362cef34] javascript:Qr=document.selection.createRange().text;if(!Qr){void(Qr=prompt('Keywords...',''))}if(Qr)location.href='http://www.php.net/manual-lookup.php?pattern='+escape(Qr)[/code:1:aa362cef34] [ Dit bericht is bewerkt door: mvwinger op 2002-05-02 12:44 ] Quote Link naar reactie
anoniem Geplaatst: 2 mei 2002 Auteur Delen Geplaatst: 2 mei 2002 Heeeey die is makkelijk :smile: Ik had al 2 van die dingen in mijn IE balk, eentje voor Google zoeken en eentje voor Babylon vertalen, maar deze is wel de handigste :smile: http://www.php.net kende ik trouwens al, daar kom ik vaak. Alleen is mij als beginner daar niet altijd alles duidelijk, zo probeerde ik laatst uit te zoeken wat het verschil was tussen de diverse verschillende replace functies (ereg- ergi- preg-), maar het verschil werd me na herhaaldelijk lezen niet erg duidelijk :smile: Maar ik kom der wel. Info genoeg. Quote Link naar reactie
anoniem Geplaatst: 3 mei 2002 Auteur Delen Geplaatst: 3 mei 2002 ereg en eregi had volgens mij het verschil dat een hoofdletter ongevoelig is. Preg replace gebruikt weer een andere regulier uitdrukking verzameling POSIX geloof ik. [ Dit bericht is bewerkt door: mvwinger op 2002-05-03 09:37 ] Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen