Door
Andreas Krale
op 23-01-2016 14:16
gewijzigd op 23-01-2016 14:34
5.703 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.
Geen idee waarom je een if en else constructie om een formulier heen zou maken.
Maar dat is naar mijn idee grote onzin. Dat is leuk als nog meer gedaan moet worden, maar met 1 formulier posten niet. Immers als het gepost is, dan laat het script het formulier al zien. Het enige wat het doet die eerste if is vrij vertaald: Als( de server een aanvraag krijgt, en de methode IS POSTEN)
Anders is het altijd ophalen ($_GET) dus dan is er geen else meer nodig want dat gebeurd al...
In jou voorbeeld haal ik niet uit waarom je substr() wil gebruiken.
Wat ik doe, is gewoon de waarde terug halen uit de regel die is geschreven.
Anders moet je je probleem helemaal uitleggen want dan moet er dus iets heel anders gedaan worden...
Ik gebruik voor mijn microcontroller een "config.txt" om bepaalde instellingen via een website te wijzigen, de website en de config files staan op een sd-kaart ik kan alleen gebruik maken van txt of xml files.
Het config.txt file ziet er als volgt uit.
int timer1 = 10; // deze tijd is voor timer 1
int timer2 = 20; // deze tijd is voor timer 2
int timer3 = 30; // deze tijd is voor timer 3
int timer4 = 40; // deze tijd is voor timer 4
int timer5 = 50; // deze tijd is voor timer 5
Nu wil ik dus alleen maar de waarde achter de = zien en deze kunnen wijzigen, vandaar de regel.
Aan een xml bestand heb ik wel eens gedacht, heb met mijn microcontroller alleen maar ervaring met het lezen en schrijven naar een .txt file wat weer geschreven word in C++.
Ik zou aan de microcontroller kant ook weer moeten ombouwen naar het .xml gebeuren, dus dat is mijn laatste plan mocht het niet goed gaan met met php en mijn config file.
En wat nu als je een timer wilt verhogen boven de 100? Dan gaat het mis met je substr() omdat deze slechts twee karakters pakt. Wat als je ergens een spatie teveel of te weinig zet? Dit is echt zo foutgevoelig als maar kan zijn...
Ik zou serieus overwegen om meer structuur te geven aan je data, nu is dit een plak tekst zonder betekenis; je zou dit bijvoorbeeld kunnen doen door middel van:
- JSON, XML, CSV of een querystring ofzo (key1=value1&key2=value2 et cetera), of
- alles in een database op te slaan
Of je stopt het in een .ini file, PHP heeft een handige functie om deze weer uit te lezen. Voor al de andere varianten (JSON, XML, CSV, querystring) zijn ook functies beschikbaar om dit proces te vergemakkelijken...
Mogelijkheden te over voor een gestructureerdere aanpak.
Mogelijkheden te over voor een gestructureerdere aanpak.
Helaas niet met een database kan ik niets beginnen, daar kan de microcontroller niet mee overweg ook niet met json.
Dus moet het met txt of xml moeten doen.
En wat nu als je een timer wilt verhogen boven de 100