Door
Andreas Krale
op 23-01-2016 14:16
gewijzigd op 23-01-2016 14:34
5.698 views
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.
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.
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.
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.