Ik ben met een "input" bezig om de waarde uit een regel te lezen en dan te wijzigen.
Krijg wel netjes het label te zien en het textvak maar niet de waarde.
Zie momenteel de fout niet.

<div>
<label>naam</label>
<input type="text" $regels = file('config.txt'); substr($regels[0], 13, 2);></input>
</div>

Als ik het van elkaar los haal.

$regels = file('config.txt');
echo substr($regels[0], 13, 2);

Dan krijg ik wel de waarde te zien.

Graag jullie hulp.
Andreas Krale op 24/01/2016 17:28:01

Dat komt het niet, 65 zal het hoogste worden.


$strParts = explode(' ', $str);

Geeft in jouw geval een array met 4 elementen.
Eerste is de type, tweede is name en vierde is de value.
Mocht het wel hoger gaan dan 100 heb je dat probleem niet meer.

Heeft iemand nog een idee hoe ik dit probleem kan oplossen en zou die dat ook met mij willen delen?
Het is namelijk nog 1 van de 2 problemen die ik heb en dan heb ik de website voor mijn microcontroller klaar.

Jullie hulp word erg gewaardeerd.
Explode() zoals zojuist door Randy geopperd is. Heb je dat al geprobeerd?
Nee dat heb ik niet geprobeerd omdat dacht ik niet met het opslaan van onderstaande heeft te maken, maar misschien heb ik dit mis.
Ik zie het verband namelijk niet, het onderstaande script werkt niet krijg een lege witte pagina vandaar dat ik het verband niet zie tussen 2 of 4 karakters en dan opslaan.

Dus het werkt voor mij verwarrend van daar mijn oproep om hulp, nogmaals misschien heb ik het mis.


 <?php
$file('config.txt');
$current = file_get_contents($file);
//if($_SERVER['REQUEST_METHOD']=="POST")
{
file_put_contents($file,$current['input1'],$current['input2']);
}
else
{
?>
<form action="" method="post">
<div>
<label>1e naam</label>
<input type="text" name="input1" size="5" value="<?php echo substr($current[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($current[1], 13, 2);?>">
    <label>de standaard waarde is 65</label>
</div>
<input type="submit" value="Opslaan" > <br>
</form>
<?php
}
?> 
Error-reporting en display_errors al aangezet?
Dan zie je inderdaad een error over je gecommentariseerde regel op lijn 4 waar die // voor weg moet.

Lijn 2 moet zijn:
$filename = "config.txt";
$file = file($filename);

Dan heb je in file een array met elke lijn uit je config. Dan heb je geen file_get_content nodig.
Inderdaad deze blijkt leeg te zijn.
dit geeft firebug aan


<html>
<head></head>
<body></body>
</html>
Zie mijn edit hierboven. Met deze wijzigingen moet het beter werken.
Ik heb nu inderdaad weer de site met onderstaande code krijg nu geen waarde te zien.
Maar wel 2x de beide inputs en 2x de opslaan button.


 <?php
$filename = "config.txt";
$file = file($filename);
$current = file_get_contents($file);
if($_SERVER['REQUEST_METHOD']=="POST")
{
file_put_contents($filename,$current['input1'],$current['input2']);
}
else
{
?>
<form action="" method="post">
<div>
<label>1e naam</label>
<input type="text" name="input1" size="5" value="<?php echo substr($current[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($current[1], 13, 2);?>">
    <label>de standaard waarde is 65</label>
</div>
<input type="submit" value="Opslaan" > <br>
</form>
<?php
}
?> 


[size=xsmall]Toevoeging op 25/01/2016 10:20:31:[/size]

file_get_content heb je dus niet meer nodig.

In $file staat de array met de verschillende regels. Dus gebruik je $file[0], $file[1] etc in je formulier.
Ik dacht dat ik het begon te snappen maar het tegendeel.

Moet ook even opbiechten dat het stukje script er 2x in stond dus een grote blunder mijn zijde.

 <?php
$filename = "config.txt";
$file = file($filename);
//$current = file_get_contents($file);
if($_SERVER['REQUEST_METHOD']=="POST")
{
file_put_contents($filename,$file[0],['input1'],$file[1],['input2']);
}
else
{
?>
<form action="" method="post">
<div>
<label>1e naam</label>
<input type="text" name="input1" size="5" value="<?php echo substr($file [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($file [1], 13, 2);?>">
    <label>de standaard waarde is 65</label>
</div>
<input type="submit" value="Opslaan" > <br>
</form>
<?php
}
?> 


[size=xsmall]Toevoeging op 25/01/2016 11:21:38:[/size]

voor het opslaan


Na het opslaan

Reageren