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.
Ik dacht dat ik het nu door had met het 1e label aan te passen dat deze het 1e deel van de tekst leest wat deze ook doet, nu het ik het vermoeden dat ik $inhoud=$post regel kon aan passen maar dat werk helaas niet.
Dat had dan een mooi oplossing geweest.


 <?php
$filename = "config.txt";
$file = file($filename);
if($_SERVER['REQUEST_METHOD']=="POST")
{
$inhoud = $_POST['label'] & ['input1'].PHP_EOL.$_POST['input2'];
file_put_contents($filename,$inhoud);
}
else
{
?>
<form action="" method="post">
<div>
<label type="text" name="label1" value="<?php echo substr($file [0], 0, 12);?>">
<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
}
?> 
Vanwaar die &? En waarom opeens $_POST['label1']? Er zijn al diverse dingen gezegd, maar ik heb zelf niet echt het idee dat het doorgedrongen is, en dat je maar wat lukraak probeert.

Kijk zelf eens naar je configuratie-bestand, en wat je script nu naar je bestand toe schrijft.
De ontbrekende data moet je gewoon toevoegen aan de string.
Als ik naar de "input1" (regel 15) dan krijg ik een waarde en deze word opgeslagen
De ontbrekende deel van de regel laat ik als "label1" (regel 14) kommen dus heb ik hele 1e config regel
Als deze dan weer in $_post laat kommen dan zou ik denken dat door ['label1'] & ['input1'] de regel weer in het config bestand word gezet.

Als uit jou worden begrijp ik dat ik een hopeloos geval begin te worden, mijn excuus hiervoor.
Ik denk dat het toch zinvoller is om te weten wat je precies doet en moet doen.
Kijk eens naar de basis van PHP. Op www.phptuts.nl staat een mooie basistutorial.
Wat doet je dan vermoeden dat "&" die functie biedt? Staat dat ergens beschreven? Zoals Ariën heel terecht opmerkt ziet het eruit alsof je gewoon wat probeert. Pak voor de grap de handleiding er eens bij en ga daarmee aan de slag. Wat je wilt doen is het volgende:
Je wilt een tekstbestand vormen met een inhoudt die er als volgt uitziet:
int timer.. = jewaarde
Het begin van de regel komt nergens terug, ook niet in $_POST['label1']. Een label is namelijk geen input element, dus daar kun je niets mee. Wat je zou kunnen doen is met de hulp van preg_match en file_get_contents (zie http://www.php.net/preg_match en http://www.php.net/file_get_contents) een mooie array opbouwen die je op 2 manieren kunt gebruiken: bij het weergeven van de huidige informatie, en bij het opslaan een mutatie doen op diezelfde array en dan samenvoegen tot een bestand, bijvoorbeeld met http://www.php.net/implode om vervolgens file_put_contents met de juiste opties aan te roepen.
Daar ben ik ook mee bezig, maar ja ik kon bij mijn geboorte ook niet gelijk lopen dus daar zal het wel aan liggen.

Maar dan heb ik nog 1 vraag:
Hoe lossen jullie dit probleem dan op???????

En nee ik probeer mij het niet makkelijker te maken met een eventueel een werkend script, maar ik wil gewoon van dit getouwtrek af zodat ik weer verder kan met mijn website.

Hoop niet dat ik je op je tenen trap dat is absoluut niet de bedoeling
Wat is je ervaring met PHP op dit moment?
Ben geeft al een stap-voor-stap wijze met de oplossing.
Je zult wel de nodige ervaring met PHP moeten hebben om dit voor elkaar te krijgen, het is immers niet iets gering wat je wilt bereiken.
Ik geloof dat ik dus niet bij de
"Beginnen met PHP"
"Net begonnen met PHP? Dan kun je hier uitleg vragen over problemen die je tegenkomt."

Maar op het deel voor gevorderden.

Volgens mij zien jullie ook wel dat ik mij best doe.
Maar voor jullie is het makkelijk praten jullie kennen alles al.

Maar nu eens niet om de brei heen draaien.

Hoe lossen jullie dit probleem dan op???????

Als de andere timers statisch zijn en niet veranderen, dan kan je prima een string genereren met:

<?php
$inhoud = '
int timer1 = '.$_POST['input1'].';
int timer2 = '.$_POST['input2'].';
int timer3 = 30;
int timer4 = 40;
int timer5 = 50;
';
?>

Als je dit dan naar je bestand schrijft, dan moet je als het goed is de juiste waardes hebben.
Als ik nog beter de tekst van Ben lees dan staat er je kan het oplossen met "file_get_contents"

Maar als ik dan naar de eerder post lees dan staat daar weer op laatste regel.

Dus hoe verwarrend is dit nu??
----------
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.
----------------

[size=xsmall]Toevoeging op 25/01/2016 14:57:14:[/size]

- Ariën - op 25/01/2016 14:53:42

Als de andere timers statisch zijn en niet veranderen, dan kan je prima een string genereren met:

<?php
$inhoud = '
int timer1 = '.$_POST['input1'].';
int timer2 = '.$_POST['input2'].';
int timer3 = 30;
int timer4 = 40;
int timer5 = 50;
';

Dank je ga het gelijk proberen.
?>

Als je dit dan naar je bestand schrijft, dan moet je als het goed is de juiste waardes hebben.


Reageren