Ik heb met php een textveld gemaakt. De ingevulde waarde van dit veld word na op een knop (verzenden) te hebben gedrukt naar een textbestand geschreven.
Daaronder heb ik geschreven wat er in dat bestand al staat.
Het probleem is dat wanneer de pagina word herladen niet de waarde in het textbestand blijft staan. Deze word onmiddelijk overschreven door de laats ingevoerde text die op die pc in dat textvak is ingevult.
Mijn conclusie is dan ook dat wanneer ik de pagina herlaad, er ook een post request word gedaan. Hierdoor word een tijdelijk bestand aangeroepen dat eerder in de pc stond in het bestand geschreven.
Hoe los ik dit probleem op, ik ben radeloos...Hieronder volgt de broncode_commentaar
bvd, Emiel
________________________________________________________________
<?php
# In dit gedeelte word de actuele datum aangegeven.
Echo date("j F Y");
# In dit gedeelte word het visuele gedeelte 'textvak + verzendbutton'.
?>
<form action="index.php" method="POST">
<input type="text" size=10 name="EersteElement">
<input type="Submit" value="Verzenden">
<?php
Echo "<BR>";0
if ($_SERVER['REQUEST_METHOD'] == "POST")
{
# Eerst moet je het naam van het bestand geven waar de gegevens uiteindelijk in moeten worden geschreven
# we noemen dat bestand output.txt
$tekst1 = $_POST['EersteElement'];
$file = "output.txt";
$file_open = fopen($file, "w+");
# Het bestand moet eerst worden geopend voordat het gelezen kan worden, de variabele $file hebben we in de eerste
# regel al een waarde gegeven namelijk output.txt
#Er zijn een aantal rechten die je het bestand kan geven bij het lezen van het bestand een aantal staan hieronder vermeldt.
# 'r+' - opent het bestand om te lezen en te schrijven en zet de cursor aan het begin van het bestand
# De nieuwste data komt dus als eerste in het txt bestandje te staan en de oudste aan het einde
# 'w+' - Deze opent het bestand om te lezen en te schrijven en maakt het bestandje leeg.
# de nieuwste data wordt komt dus als laatste in het bestandje te staan en de oudste aan het begin
# 'a+' - Opent het bestandje om te lezen en te schrijven, de cursor wordt aan het einde gezet zodat de nieuwe tekst achter de oude komt te staan.
$file_write = fwrite($file_open, $tekst1);
fclose($file_open);
echo "</form>";
}
Echo "In het bestand staat nu <BR>";
Echo "'" ;
# In dit gedeelte word het bestand output.txt geopent en word de inhoud op het scherm weergeven.
$file = fopen ("output.txt", "r");
$lines = fgets($file);
echo "$lines";
fclose ($file);
Echo "'" ;
Echo " geschreven<br><br>";
Echo "Typ 'start' om proces te starten<BR>";
Echo "Typ 'stop' om proces te stoppen<BR>";
Echo "Typ 'pauze' om proces tijdelijk te stoppen<BR><BR>";
________________________________________________________________
Daaronder heb ik geschreven wat er in dat bestand al staat.
Het probleem is dat wanneer de pagina word herladen niet de waarde in het textbestand blijft staan. Deze word onmiddelijk overschreven door de laats ingevoerde text die op die pc in dat textvak is ingevult.
Mijn conclusie is dan ook dat wanneer ik de pagina herlaad, er ook een post request word gedaan. Hierdoor word een tijdelijk bestand aangeroepen dat eerder in de pc stond in het bestand geschreven.
Hoe los ik dit probleem op, ik ben radeloos...Hieronder volgt de broncode_commentaar
bvd, Emiel
________________________________________________________________
<?php
# In dit gedeelte word de actuele datum aangegeven.
Echo date("j F Y");
# In dit gedeelte word het visuele gedeelte 'textvak + verzendbutton'.
?>
<form action="index.php" method="POST">
<input type="text" size=10 name="EersteElement">
<input type="Submit" value="Verzenden">
<?php
Echo "<BR>";0
if ($_SERVER['REQUEST_METHOD'] == "POST")
{
# Eerst moet je het naam van het bestand geven waar de gegevens uiteindelijk in moeten worden geschreven
# we noemen dat bestand output.txt
$tekst1 = $_POST['EersteElement'];
$file = "output.txt";
$file_open = fopen($file, "w+");
# Het bestand moet eerst worden geopend voordat het gelezen kan worden, de variabele $file hebben we in de eerste
# regel al een waarde gegeven namelijk output.txt
#Er zijn een aantal rechten die je het bestand kan geven bij het lezen van het bestand een aantal staan hieronder vermeldt.
# 'r+' - opent het bestand om te lezen en te schrijven en zet de cursor aan het begin van het bestand
# De nieuwste data komt dus als eerste in het txt bestandje te staan en de oudste aan het einde
# 'w+' - Deze opent het bestand om te lezen en te schrijven en maakt het bestandje leeg.
# de nieuwste data wordt komt dus als laatste in het bestandje te staan en de oudste aan het begin
# 'a+' - Opent het bestandje om te lezen en te schrijven, de cursor wordt aan het einde gezet zodat de nieuwe tekst achter de oude komt te staan.
$file_write = fwrite($file_open, $tekst1);
fclose($file_open);
echo "</form>";
}
Echo "In het bestand staat nu <BR>";
Echo "'" ;
# In dit gedeelte word het bestand output.txt geopent en word de inhoud op het scherm weergeven.
$file = fopen ("output.txt", "r");
$lines = fgets($file);
echo "$lines";
fclose ($file);
Echo "'" ;
Echo " geschreven<br><br>";
Echo "Typ 'start' om proces te starten<BR>";
Echo "Typ 'stop' om proces te stoppen<BR>";
Echo "Typ 'pauze' om proces tijdelijk te stoppen<BR><BR>";
________________________________________________________________