Zou je de titel van het topic graag willen verduidelijken?
Alvast bedankt!
Link gekopieerd
Serieus? Zie je de fout echt niet? Zucht.
<?php
$regels = file('config.txt');
?>
<div>
<label>naam</label>
<input type="text" value="<?php echo substr($regels[0], 13, 2);?>">
</div>
Uiteraard moet je nog wel even rekening houden met escaping, zie htmlspecialchars().
Link gekopieerd
Oke ik heb het werkend leest nu netjes de waarde uit kan de waarde wijzigen maar bij het opslaan krijg ik de oude waarde weer en in de "config.txt" staat ook de oude waarde.
Het "config.txt" staat op CHMOD 777 dus dat kan niet het probleem zijn, maar wat is het dan wel.
<form action="" method="post">
<?php
$regels = file('config.txt');
?>
<div>
<label>naam</label>
<input type="text" size="5" value="<?php echo substr($regels[0], 13, 2);?>">
</div>
<div>
<label>naam</label>
<input type="text" size="5" value="<?php echo substr($regels[1], 13, 2);?>">
</div>
<input type="submit" value="Opslaan" > <br>
</form>
Graag een tip.
Moderator:
Graag in het vervolg [co de] en [/co de]-tags gebruiken, om de codeblokken.
Dit maakt het geheel beter leesbaarder.
Alvast bedankt.
Link gekopieerd
Je leest alleen nu je waarde uit, en schrijft nog niks weg. Kijk eens naar file_put_contents().
Link gekopieerd
En om de gegevens na het posten uit een inputveld te kunnen halen moet ie wel een name hebben.
Link gekopieerd
- Ariën - op 23/01/2016 15:45:56
Je leest alleen nu je waarde uit, en schrijft nog niks weg. Kijk eens naar file_put_contents().
Inderdaad met file_input_comtents() ben ik alweer een heel stuk verder.
Alleen maakt het script nu mijn config.txt leeg
<form action="" method="post">
<?php
$text = $regels;
$bestand = 'config.txt';
file_put_contents($bestand, $text);
?>
<div>
<label>naam</label>
<input type="text" size="5" value="<?php echo substr($regels[0], 13, 2);?>">
</div>
<div>
<label>naam</label>
<input type="text" size="5" value="<?php echo substr($regels[1], 13, 2);?>">
</div>
<input type="submit" value="Opslaan" > <br>
</form>
Waarom maakt dit script het bestand leeg??????????
Link gekopieerd
Omdat $regels leeg is, en hij dan direct met het uitvoeren begint bij het schrijven naar het bestand.
Je moet namelijk wel eerst netjes controleren of je formulier is verstuurd:
<?php
if($_SERVER['REQUEST_METHOD']=="POST") {
// voer hier alles uit zodra het formulier verstuurd is...
} else {
?>
<!-- Plaats hier je formulier -->
<?php
}
?>
Link gekopieerd
Naar mijn mening heb ik het goed staan maar het gaat nog steeds mis.
<?php
if($_SERVER['REQUEST_METHOD']=="POST")
{
$text = $regels;
$bestand = 'config.txt';
file_put_contents($bestand, $text);
}
else
{
?>
<form action="" method="post">
<div>
<label>1e naam</label>
<input type="text" size="5" value="<?php echo substr($regels[0], 13, 2);?>">
</div>
<div>
<label>2e naam</label>
<input type="text" size="5" value="<?php echo substr($regels[1], 13, 2);?>">
</div>
<input type="submit" value="Opslaan" > <br>
</form>
<?php
}
?>
Of heb ik het nu niet goed begrepen????
Link gekopieerd
- Ariën -
23-01-2016 17:46
gewijzigd op 23-01-2016 17:47
Dit is al een stuk beter, echter gebruik je nergens de waarde uit je formulier. Geef je input-elementen eerst beiden een unieke naam met name="naam1"
Dan kan je ze oproepen met: $_POST['naam1'] en $_POST['naam2']
Link gekopieerd
Dat met naam begrijp ik had ik ook al ergens gelezen maar helemaal vergeten.
Nu heb ik er dit van gemaakt, helaas geen input in config.txt gewoon weer leeg.
<?php
$regels = file('config.txt');
if($_SERVER['REQUEST_METHOD']=="POST")
{
file_put_contents($_POST['input1'],$_POST['input2']);
}
else
{
?>
<form action="" method="post">
<div>
<label>1e naam</label>
<input type="text" name="input1" size="5" value="<?php echo substr($regels[0], 13, 2);?>">
<label>de standaard waarde is 40</label>
</div>
<div>
<label>2e naam</label>
<input type="text" name="input2" size="5" value="<?php echo substr($regels[1], 13, 2);?>">
<label>de standaard waarde is 65</label>
</div>
<input type="submit" value="Opslaan" > <br>
</form>
<?php
}
?>
Ik waardeer het heel erg dat je mij op het goede pad brengt, alvast mijn grote dank.
Link gekopieerd