Volledige versie bekijken : onderaan schrijven
Fatty Owl
%Europe/Berlin %809 %2005, 20:25
if heb het volgende:
fwrite($fp, $New, 80000);
dit maakt dat in mijn txt file de var fp boven word bijgedaan. (ik snap de code niet echt). hoe kan ik maken dat i.p.v dat de tekst bovenaan in het txt file bijkomt hij onderaan bijkomt?
Dauntless
%Europe/Berlin %815 %2005, 20:35
Een mogelijkheid:
Haal eerst alles uit het bestand, plak die string voor je nieuwe string en sla het weer op...
(Waarschijnlijk zijn er betere manieren hoor :# )
Fatty Owl
%Europe/Berlin %817 %2005, 20:36
ik snap het niet :#
Dauntless
%Europe/Berlin %819 %2005, 20:40
Je opent de file, leest de inhoud (fread) en plakt die string voor de nieuwe string. Dan schrijf je die nieuwe (langere) string terug weg.
Fatty Owl
%Europe/Berlin %821 %2005, 20:42
ik ken niet zoveel van php...
Dauntless
%Europe/Berlin %827 %2005, 20:52
Ok, het kan dus blijkbaar véél beter :D
<?php
$add = "Een tekststukje";
$myFile = fopen("temp.txt", "a");
fwrite($myFile, $add);
?>
Het is dus die "a" die het doet :). Wil je weten waarom? Ga naar http://php.belnet.be
Fatty Owl
%Europe/Berlin %835 %2005, 21:02
ik snap het weeral niet :#
hoe moet ik dat juist gebruiken? dit is mijn code<?
$naam = $_GET['naam'];
$email = $_GET['email'];
$msg = $_GET['msg'];
$naam = ereg_replace("[^A-Za-z0-9 ]", "", $naam);
$email = ereg_replace("[^A-Za-z0-9 \@\.\-\/\']", "", $email);
$msg = ereg_replace("[^A-Za-z0-9 \@\.\-\/\']", "", $msg);
$msg = ereg_replace('***', '****', $msg);
$msg = eregi_replace('******', '****',$msg);
$msg = eregi_replace('******', '****',$msg);
$msg = eregi_replace('******', '****',$msg);
$msg = eregi_replace('terin', '****',$msg);
$msg = eregi_replace('kanker', '****',$msg);
$msg = eregi_replace('vagina', '****',$msg);
$msg = eregi_replace('tievus', '****',$msg);
$msg = eregi_replace('*****', '****',$msg);
$msg = eregi_replace('*****', '****',$msg);
$msg = eregi_replace('pik', '****',$msg);
$msg = eregi_replace('***', '****',$msg);
$msg = eregi_replace('lul', '****',$msg);
$msg = eregi_replace('god********', '****',$msg);
$msg = eregi_replace('homo', '****',$msg);
$msg = eregi_replace('flikker', '****',$msg);
$msg = eregi_replace('nicht', '****',$msg);
$msg = eregi_replace('hoer', '****',$msg);
$msg = eregi_replace('likker', '****',$msg);
$msg = eregi_replace('suck', '****',$msg);
$msg = eregi_replace('****', '****',$msg);
$msg = eregi_replace('slet', '****',$msg);
$msg = eregi_replace('aids', '****',$msg);
$msg = eregi_replace('nigt', '****',$msg);
$msg = eregi_replace('nigt', '****',$msg);
$msg = eregi_replace('shit', '****',$msg);
$msg = eregi_replace('neuke', '****',$msg);
$naam = stripslashes($naam);
$email = stripslashes($email);
$msg = stripslashes($msg);
if ($submit == "true"){
$filename = "GuestBook.txt";
$fp = fopen( $filename,"r");
$OldData = fread($fp, 80000);
fclose( $fp );
$Today = (date ("l dS of F Y ( h:i:s A )",time()));
$Input = "<b>Naam:</b> $naam<br><b>E-mail:</b><u><a href=\"mailto:$email\">$email</a></u><br>
<br><div align=\"left\"><b>Bericht:</b>
$msg</div><br><font size=\"-1\"><b>datum:</b> $Today</font><br><br>.:::.";
$New = "$Input$OldData";
$fp = fopen( $filename,"w");
fwrite($fp, $New, 80000);
fclose( $fp );
}
$filename = "GuestBook.txt";
$fp = fopen( $filename,"r");
$Data = fread($fp, 80000);
fclose( $fp );
$DataArray = split (".:::.", $Data);
$NumEntries = count($DataArray) - 1;
print "&TotalEntries=$NumEntries&NumLow=$NumLow&NumHigh=$NumHigh&GuestBook=";
for ($n = $NumLow; $n < $NumHigh; $n++) {
print $DataArray[$n];
if (!$DataArray[$n]) {
Print "<br>nog geen vragen/opmerkingen.";
exit;
}
}
?>
Dauntless
%Europe/Berlin %838 %2005, 21:07
Dat zou je toch écht wel zelf moeten vinden hoor...
Mijn PHP bestandje bestaat uit 3 regels.
Regel 1: De text die toegevoegd zal worden.
Regel 2: Het openen van het bestand.
Regel 3: Het schrijven naar het bestand.
Dan zeg ik dat het aan die "a" ligt. Die "a" komt voor in regel 2:
$myFile = fopen("temp.txt", "a");
Dan ga je die vergelijken met jouw versie. Jij hebt staan:
$fp = fopen( $filename,"w");
Het verschil? Verander "w" naar "a".
En waarom moet dat?
'r' -> Open for reading only; place the file pointer at the beginning of the file.
'w' ->Open for writing only; place the file pointer at the beginning of the file and truncate the file to zero length. If the file does not exist, attempt to create it.
'a' -> Open for writing only; place the file pointer at the end of the file. If the file does not exist, attempt to create it.
Ik weet dat ik nu wel een beetje bot ben, maar 'k vind toch dat je dit zelf zou moeten kunnen vinden...
josko
%Europe/Berlin %885 %2005, 22:14
[php]
<?php
$open = fopen(file,w+);
$string = "jouwstring";
$write = fwrite($open,$string)
$close = fclose(file)
?>
w+ voegt je string achteraan het bestand in [bijschrijven.] w herschrijft het bestand...
Fatty Owl
%Europe/Berlin %886 %2005, 22:16
ok nu doet hij dit: als ik heb in mijn txt bestand staan : $inhoud =
en ik verzend er een bericht naartoe krijg ik dit daar te staan:
&inhoud=<b>Naam:</b> test<br><b>E-mail:</b><u><a href="mailto:test">test</a></u><br>
<br><div align="left"><b>Bericht:</b>
test</div><br><font size="-1"><b>datum:</b> Sunday 11th of September 2005 ( 10:11:36 PM )</font><br><br>.:::.&inhoud
op het einde schrijft hij dus opnieuw hetgene wat voor het erbij te schrijven stond. dus als er stind $inhoud = test dan zou hij op het einde hebben staan opnieuw $inhoud = test.
josko
%Europe/Berlin %887 %2005, 22:18
sorry had nog neit alle posts gelzezen.
<?
$naam = $_GET['naam'];
$email = $_GET['email'];
$msg = $_GET['msg'];
$group = '$naam,$email,$msg';
$naam = ereg_replace("[^A-Za-z0-9 ]", "", $naam);
$email = ereg_replace("[^A-Za-z0-9 \@\.\-\/\']", "", $email);
$msg = ereg_replace("[^A-Za-z0-9 \@\.\-\/\']", "", $msg);
$msg = ereg_replace('***', '****', $msg);
$msg = eregi_replace('******', '****',$msg);
$msg = eregi_replace('******', '****',$msg);
$msg = eregi_replace('******', '****',$msg);
$msg = eregi_replace('terin', '****',$msg);
$msg = eregi_replace('kanker', '****',$msg);
$msg = eregi_replace('vagina', '****',$msg);
$msg = eregi_replace('tievus', '****',$msg);
$msg = eregi_replace('*****', '****',$msg);
$msg = eregi_replace('*****', '****',$msg);
$msg = eregi_replace('pik', '****',$msg);
$msg = eregi_replace('***', '****',$msg);
$msg = eregi_replace('lul', '****',$msg);
$msg = eregi_replace('god********', '****',$msg);
$msg = eregi_replace('homo', '****',$msg);
$msg = eregi_replace('flikker', '****',$msg);
$msg = eregi_replace('nicht', '****',$msg);
$msg = eregi_replace('hoer', '****',$msg);
$msg = eregi_replace('likker', '****',$msg);
$msg = eregi_replace('suck', '****',$msg);
$msg = eregi_replace('****', '****',$msg);
$msg = eregi_replace('slet', '****',$msg);
$msg = eregi_replace('aids', '****',$msg);
$msg = eregi_replace('nigt', '****',$msg);
$msg = eregi_replace('nigt', '****',$msg);
$msg = eregi_replace('shit', '****',$msg);
$msg = eregi_replace('neuke', '****',$msg);
$group = stripslashes($naam);
if ($submit == "true"){
$filename = "GuestBook.txt";
$fp = fopen( $filename,"r");
$OldData = fread($fp, 80000);
fclose( $fp );
$Today = (date ("l dS of F Y ( h:i:s A )",time()));
$Input = "<b>Naam:</b> $naam<br><b>E-mail:</b><u><a href=\"mailto:$email\">$email</a></u><br>
<br><div align=\"left\"><b>Bericht:</b>
$msg</div><br><font size=\"-1\"><b>datum:</b> $Today</font><br><br>.:::.";
$New = "$Input$OldData";
$fp = fopen( $filename,"a");
fwrite($fp, $New, 80000);
fclose( $fp );
}
$filename = "GuestBook.txt";
$fp = fopen( $filename,"r");
$Data = fread($fp, 80000);
fclose( $fp );
$DataArray = split (".:::.", $Data);
$NumEntries = count($DataArray) - 1;
print "&TotalEntries=$NumEntries&NumLow=$NumLow&NumHigh=$NumHigh&GuestBook=";
for ($n = $NumLow; $n < $NumHigh; $n++) {
print $DataArray[$n];
if (!$DataArray[$n]) {
Print "<br>nog geen vragen/opmerkingen.";
exit;
}
}
?>
doet het zo beter denk ik, maar heb niet alles nagelopen..
als je een file opent moet je direct opgeven wat je wilt doen.
je mogelijkheden: [engels sorry...]
Read: 'r'
Open a file for read only use. The file pointer is at the beginning of the file.
Write: 'w'
Open a file for write only use. In addition, the data in the file is erased and you will begin writing data at the beginning of the file. This is also called truncating a file, which we will talk about more in a later lesson. The file pointer is at the beginning of the file.
Append: 'a'
Open a file for write only use. However, the data in the file is preserved and you begin writing data at the end of the file. The file pointer is at the end of the file.
There are additional ways to open a file. Above we stated the standard ways to open a file. However, you can open a file in such a way that reading and writing is allowable! This combination is done by placing a plus sign "+" following the character.
Read/Write: 'r+'
Opens a file so that it can be read from and written to. The file pointer is at the beginning of the file.
Write/Read: 'w+'
This is exactly the same as r+, except that it deletes all information in the file when the file is opened.
Append: 'a+'
This is exactly the same as r+, except that the file pointer is at the end of the file.
Fatty Owl
%Europe/Berlin %890 %2005, 22:22
[php]
<?php
$open = fopen(file,w+);
$string = "jouwstring";
$write = fwrite($open,$string)
$close = fclose(file)
?>
w+ voegt je string achteraan het bestand in [bijschrijven.] w herschrijft het bestand...
w+ werkt niet dan krijg ik hetzelfde als eerst...of moet het niet tussen ""?
josko
%Europe/Berlin %892 %2005, 22:24
sorry verkeeerd ingevuld...excses,kijk de nieuwe
Fatty Owl
%Europe/Berlin %896 %2005, 22:30
doet het zo beter denk ik, maar heb niet alles nagelopen..
als je een file opent moet je direct opgeven wat je wilt doen.
je mogelijkheden: [engels sorry...]
nee die werkt ook niet ik heb het ook al geprobeert met a+ dat is hetzelfde probleem als 2x hierboven
Dauntless
%Europe/Berlin %896 %2005, 22:30
w+ werkt niet dan krijg ik hetzelfde als eerst...of moet het niet tussen ""?
Je hebt mijn versie nog niet geprobeerd zeker?
josko
%Europe/Berlin %899 %2005, 22:34
onder mijn post staat uitleg van alles. als dit niet werkt, neem de complete code eens over mischien helpt het. en anders,
moeilijkere oplossing.
maak een variable waar je post in staan. maak een variable die hem open,zodat het in een string szit. maak een variable die de vorige twee groepeert...
[filestring,messagestring.] en schrijf die erbij, iets moeilijk maah werkt gegarandeerd
Fatty Owl
%Europe/Berlin %902 %2005, 22:38
Je hebt mijn versie nog niet geprobeerd zeker?
jawel dat was gewoon a en die gaf dit:
ok nu doet hij dit: als ik heb in mijn txt bestand staan : $inhoud =
en ik verzend er een bericht naartoe krijg ik dit daar te staan:
&inhoud=<b>Naam:</b> test<br><b>E-mail:</b><u><a href="mailto:test">test</a></u><br>
<br><div align="left"><b>Bericht:</b>
test</div><br><font size="-1"><b>datum:</b> Sunday 11th of September 2005 ( 10:11:36 PM )</font><br><br>.:::.&inhoud
op het einde schrijft hij dus opnieuw hetgene wat voor het erbij te schrijven stond. dus als er stind $inhoud = test dan zou hij op het einde hebben staan opnieuw $inhoud = test.
Dauntless
%Europe/Berlin %915 %2005, 22:57
jawel dat was gewoon a en die gaf dit:
Wil je dat nu of niet? Want zo is je script wel ingericht:
$OldData = fread($fp, 80000);
fclose( $fp );
$Today = (date ("l dS of F Y ( h:i:s A )",time()));
$Input = "<b>Naam:</b> $naam<br><b>E-mail:</b><u><a href=\"mailto:$email\">$email</a></u><br>
<br><div align=\"left\"><b>Bericht:</b>
$msg</div><br><font size=\"-1\"><b>datum:</b> $Today</font><br><br>.:::.";
$New = "$Input$OldData";
Eerst het bestand openen, de inhoud lezen, dan de nieuwe input maken en die voor de oldData plakken... Dit lijkt me dus een PHP script van een shoutbox... Aangezien de nieuwste reactie nu laast komt...
Dus eigenlijk: Je kan je script van helemaal in het begin gebruiken en je moet maar 1 dingetje veranderen:
$New = "$Input$OldData";
Wordt
$New = "$OldData$Input";
Niet? (test eens)
josko
%Europe/Berlin %916 %2005, 23:00
hey ja ik was ervan uit gegaan dat eht begin klopt, maar dauntless heeft gelijk [duh anders zou die het neit zeggen.
jij gaat het je info geven en iets openen, dat meot andersom, lees zij post en het gaat lukken
Fatty Owl
%Europe/Berlin %918 %2005, 23:02
samenvatting : ik heb een php bestand met de code van josko (hierboven).
ik heb ook nog een .txt bestand waarin staat: $inhoud=
in mijn flash bestand heb ik een gastenboek invulformulier die variablen verzend naar php (de variablen naam,email,msg). als ik nu een bericht verzend komt er in het .txt bestand dit:
$inhoud= b>Naam:</b>De naam die ik gekozen heb<br><b>E-mail:</b><u><a href="mailto:gekozenemailadres">mijnbericht</a></u><br>
<br><div align="left"><b>Bericht:</b>
mijnbericht</div><br><font size="-1"><b>datum:</b> Sunday 11th of September 2005 ( 10:11:36 PM )</font><br><br>.:::.$inhoud=
je ziet in de laatste regel op het einde $inhoud staan(hetgene wat er al stond voor dat ik de data verzende komt er achteraan bij). die moet er niet bijkomen.
Dauntless
%Europe/Berlin %920 %2005, 23:05
Neem eens het script dat je helemaal in het begin had, en verander gewoon dat 1ne regeltje... (Zie m'n vorige post)
Fatty Owl
%Europe/Berlin %920 %2005, 23:06
de sammenvatting post was iets te laat ja het werkt met je ding dauntless bedank!
josko
%Europe/Berlin %922 %2005, 23:07
je fout is dat het niet in je text bestand moet staan....[php]
<?
$naam = $_GET['naam'];
$email = $_GET['email'];
$msg = $_GET['msg'];
$group = '$naam,$email,$msg';
$naam = ereg_replace("[^A-Za-z0-9 ]", "", $naam);
$email = ereg_replace("[^A-Za-z0-9 \@\.\-\/\']", "", $email);
$msg = ereg_replace("[^A-Za-z0-9 \@\.\-\/\']", "", $msg);
$msg = ereg_replace('***', '****', $msg);
$msg = eregi_replace('******', '****',$msg);
$msg = eregi_replace('******', '****',$msg);
$msg = eregi_replace('******', '****',$msg);
$msg = eregi_replace('terin', '****',$msg);
$msg = eregi_replace('kanker', '****',$msg);
$msg = eregi_replace('vagina', '****',$msg);
$msg = eregi_replace('tievus', '****',$msg);
$msg = eregi_replace('*****', '****',$msg);
$msg = eregi_replace('*****', '****',$msg);
$msg = eregi_replace('pik', '****',$msg);
$msg = eregi_replace('***', '****',$msg);
$msg = eregi_replace('lul', '****',$msg);
$msg = eregi_replace('god********', '****',$msg);
$msg = eregi_replace('homo', '****',$msg);
$msg = eregi_replace('flikker', '****',$msg);
$msg = eregi_replace('nicht', '****',$msg);
$msg = eregi_replace('hoer', '****',$msg);
$msg = eregi_replace('likker', '****',$msg);
$msg = eregi_replace('suck', '****',$msg);
$msg = eregi_replace('****', '****',$msg);
$msg = eregi_replace('slet', '****',$msg);
$msg = eregi_replace('aids', '****',$msg);
$msg = eregi_replace('nigt', '****',$msg);
$msg = eregi_replace('nigt', '****',$msg);
$msg = eregi_replace('shit', '****',$msg);
$msg = eregi_replace('neuke', '****',$msg);
$group = stripslashes($naam);
if ($submit == "true"){
$filename = "GuestBook.txt";
$fp = fopen( $filename,"r");
$OldData = fread($fp, 80000);
fclose( $fp );
$Today = (date ("l dS of F Y ( h:i:s A )",time()));
$Input = "<b>Naam:</b> $naam<br><b>E-mail:</b><u><a href=\"mailto:$email\">$email</a></u><br>
<br><div align=\"left\"><b>Bericht:</b>
$msg</div><br><font size=\"-1\"><b>datum:</b> $Today</font><br><br>.:::.";
$New = "$OldData$Input";
$fp = fopen( $filename,"a");
fwrite($fp, $New, 80000);
fclose( $fp );
}
$filename = "GuestBook.txt";
$fp = fopen( $filename,"r");
$Data = fread($fp, 80000);
fclose( $fp );
$DataArray = split (".:::.", $Data);
$NumEntries = count($DataArray) - 1;
print "&TotalEntries=$NumEntries&NumLow=$NumLow&NumHigh=$NumHigh&GuestBook=";
for ($n = $NumLow; $n < $NumHigh; $n++) {
print $DataArray[$n];
if (!$DataArray[$n]) {
Print "<br>nog geen vragen/opmerkingen.";
exit;
}
}
?>
had je de code van $new = $input$oldata al omgewisseld? dat was de laatstefout,waar ik niet vanuit ging dat er een fout in begin zat. volgens mij zou die het zo moeten doen
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.