Input deel van tekstregel laten uitlezen.
Pagina: « vorige 1 2 3 volgende »
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.
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.
Gewijzigd op 25/01/2016 09:37:31 door - Ariën -
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.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?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
}
?>
$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
}
?>
Gewijzigd op 25/01/2016 09:54:15 door Andreas Krale
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.
Gewijzigd op 25/01/2016 10:05:43 door - Ariën -
Zie mijn edit hierboven. Met deze wijzigingen moet het beter werken.
Maar wel 2x de beide inputs en 2x de opslaan button.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?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
}
?>
$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
}
?>
Toevoeging op 25/01/2016 10:20:31:
In $file staat de array met de verschillende regels. Dus gebruik je $file[0], $file[1] etc in je formulier.
Moet ook even opbiechten dat het stukje script er 2x in stond dus een grote blunder mijn zijde.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?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
}
?>
$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
}
?>
Toevoeging op 25/01/2016 11:21:38:
voor het opslaan
Na het opslaan
Gewijzigd op 25/01/2016 11:16:15 door Andreas Krale
Dit had ik dus al in een eerder post al klaar.
Ik bedoel het file_put_contents voorbeeld.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<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>
?>
<?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>
?>
Gewijzigd op 25/01/2016 12:01:18 door Andreas Krale
Jij doet dit, wat fout is:
$text = $regels;
$regels komt uit het niets, en bevat geen enkele waarde uit je formulier.
Gewijzigd op 25/01/2016 12:07:22 door - Ariën -
Maar ik zie de bomen door het bos niet meer.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$filename = "config.txt";
$file = file($filename);
//$current = file_get_contents($file);
if($_SERVER['REQUEST_METHOD']=="POST")
{
file_put_contents($filename,$post,$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
}
?>
$filename = "config.txt";
$file = file($filename);
//$current = file_get_contents($file);
if($_SERVER['REQUEST_METHOD']=="POST")
{
file_put_contents($filename,$post,$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
}
?>
Andreas Krale op 25/01/2016 12:39:35:
Met het script hieronder gebeurt er wel iets in de config.txt alleen geen wijzigingen (volgens notepadqq)
Maar ik zie de bomen door het bos niet meer.
Maar ik zie de bomen door het bos niet meer.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$filename = "config.txt";
$file = file($filename);
//$current = file_get_contents($file);
if($_SERVER['REQUEST_METHOD']=="POST")
{
file_put_contents($filename,$post,$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
}
?>
$filename = "config.txt";
$file = file($filename);
//$current = file_get_contents($file);
if($_SERVER['REQUEST_METHOD']=="POST")
{
file_put_contents($filename,$post,$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
}
?>
Misschien eens de basis van PHP gaan leren?
Kijk ook vooral eens op php.net naar de functies die je gebruikt..
file_put_contents
Hier tref ik twee verplichte parameters aan, voor de bestandsnaam en de data die je wilt invoegen.
Jij gebruikt er maar liefst 6 in een andere volgorde.
Maar de basis van PHP leren is overigens zeker geen slecht idee dan dat je steeds gaat gokken met wat variabelen en functies.
Op je maar even een stukje op weg te helpen:
De rest mag je zelf proberen uit te zoeken, want het is natuurlijk ook fijn om een melding te te tonen als iets verstuurd is (of je formulier vanzelf te resfreshen met de juiste inhoud). Ook moet je het configuratiebestand op de juiste manier weer opbouwen.
Zoals ik al zei: Hier tref ik twee verplichte parameters aan, voor de bestandsnaam en de data die je wilt invoegen.
Jij gebruikt er maar liefst 6 in een andere volgorde.
Maar de basis van PHP leren is overigens zeker geen slecht idee dan dat je steeds gaat gokken met wat variabelen en functies.
Op je maar even een stukje op weg te helpen:
Code (php)
1
2
3
4
2
3
4
<?php
$inhoud = $_POST['input1'].PHP_EOL.$_POST['input2'];
file_put_contents($filename,$inhoud);
?>
$inhoud = $_POST['input1'].PHP_EOL.$_POST['input2'];
file_put_contents($filename,$inhoud);
?>
De rest mag je zelf proberen uit te zoeken, want het is natuurlijk ook fijn om een melding te te tonen als iets verstuurd is (of je formulier vanzelf te resfreshen met de juiste inhoud). Ook moet je het configuratiebestand op de juiste manier weer opbouwen.
Gewijzigd op 25/01/2016 13:00:44 door - Ariën -
Ik ben erg blij met de hulp hier probeer ook alles te begrijpen maar dit gedeelte krijg ik niet onder de knie.
zoals nu ook weer met onderstaand script uitlezen gaat goed wijzigen gaat goed opslaan gaat nu goed behalve dat de rest van de regels weg is.
Voor het opslaan:
int timer1 = 10;
int timer2 = 20;
int timer3 = 30;
int timer4 = 40;
int timer5 = 50;
1e regel gewijzigd in 30 en na opslaan:
30
20
Dus kan mijn microcontroller er niets mee en de website ook niet meer.
Nogmaals ik ben lerende en doe mijn best.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$filename = "config.txt";
$file = file($filename);
if($_SERVER['REQUEST_METHOD']=="POST")
{
$inhoud = $_POST['input1'].PHP_EOL.$_POST['input2'];
file_put_contents($filename,$inhoud);
}
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
}
?>
$filename = "config.txt";
$file = file($filename);
if($_SERVER['REQUEST_METHOD']=="POST")
{
$inhoud = $_POST['input1'].PHP_EOL.$_POST['input2'];
file_put_contents($filename,$inhoud);
}
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
}
?>
Dan kan je toch de rest van het bestand proberen op te bouwen met de niet aangepaste waardes?
Ik heb nu maar steeds twee waardes het worden er 12 tot 15 daar ben ik nog niet over uit.
Bedoel je zoiets 1e regel vanaf 1 tot 12 karakters en dan de ['input1'] zodat ik dit weer krijg int timer1 = 10;
Kort samengevat overschrijf je nu je configuratie-bestand met onvoldoende gegevens.
Dus moet je die ontbrekende gegevens toevoegen aan je variabele $inhoud.