Input deel van tekstregel laten uitlezen.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3 volgende »

Randy vsf

Randy vsf

24/01/2016 17:46:13
Quote Anchor link
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.
 
PHP hulp

PHP hulp

24/12/2024 17:07:09
 
Andreas Krale

Andreas Krale

25/01/2016 08:07:36
Quote Anchor link
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.
 
- Ariën  -
Beheerder

- Ariën -

25/01/2016 09:34:05
Quote Anchor link
Explode() zoals zojuist door Randy geopperd is. Heb je dat al geprobeerd?
Gewijzigd op 25/01/2016 09:37:31 door - Ariën -
 
Andreas Krale

Andreas Krale

25/01/2016 09:50:40
Quote Anchor link
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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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
 
- Ariën  -
Beheerder

- Ariën -

25/01/2016 09:56:01
Quote Anchor link
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.
Gewijzigd op 25/01/2016 10:05:43 door - Ariën -
 
Andreas Krale

Andreas Krale

25/01/2016 10:04:19
Quote Anchor link
Inderdaad deze blijkt leeg te zijn.
dit geeft firebug aan

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<html>
<head></head>
<body></body>
</html>
 
- Ariën  -
Beheerder

- Ariën -

25/01/2016 10:06:45
Quote Anchor link
Zie mijn edit hierboven. Met deze wijzigingen moet het beter werken.
 
Andreas Krale

Andreas Krale

25/01/2016 10:13:51
Quote Anchor link
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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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:

Afbeelding
 
- Ariën  -
Beheerder

- Ariën -

25/01/2016 10:37:00
Quote Anchor link
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.
 
Andreas Krale

Andreas Krale

25/01/2016 11:13:41
Quote Anchor link
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.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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
Afbeelding

Na het opslaan
Afbeelding
Gewijzigd op 25/01/2016 11:16:15 door Andreas Krale
 
- Ariën  -
Beheerder

- Ariën -

25/01/2016 11:24:25
Quote Anchor link
Een waarde uit een formulier wordt na een POST opgeslagen met de name als index. Dus $_POST['input1'] etc...

Kijk om eens naar:file_put_contents.
Gewijzigd op 25/01/2016 11:26:56 door - Ariën -
 
Andreas Krale

Andreas Krale

25/01/2016 11:58:55
Quote Anchor link
Ariën

Dit had ik dus al in een eerder post al klaar.

Ik bedoel het file_put_contents voorbeeld.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>

?>
Gewijzigd op 25/01/2016 12:01:18 door Andreas Krale
 
- Ariën  -
Beheerder

- Ariën -

25/01/2016 12:02:46
Quote Anchor link
Je doet niks met de inhoud uit je formulier. Als je $_POST[] waardes toevoegt aan je file_put_contents in je vorige post, dan moet het werken.

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 -
 
Andreas Krale

Andreas Krale

25/01/2016 12:39:35
Quote Anchor link
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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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
}
?>
 
Randy vsf

Randy vsf

25/01/2016 12:43:01
Quote Anchor link
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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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..
 
- Ariën  -
Beheerder

- Ariën -

25/01/2016 12:47:03
Quote Anchor link
Zoals ik al zei: 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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$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 -
 
Andreas Krale

Andreas Krale

25/01/2016 13:16:17
Quote Anchor link
Eerst even voor de duidelijkheid ik ben druk lerend, maar als je steeds andere en tegenstrijdige methodes tegen komt kijk alleen maar op de 1e pagina van deze threat.

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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
}
?>
 
- Ariën  -
Beheerder

- Ariën -

25/01/2016 13:26:30
Quote Anchor link
Ik neem aan dat er maar steeds twee waardes veranderd hoeven te worden?
Dan kan je toch de rest van het bestand proberen op te bouwen met de niet aangepaste waardes?
 
Andreas Krale

Andreas Krale

25/01/2016 13:44:02
Quote Anchor link
Ariën

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;

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo substr($file [0], 0, 12);?>
 
- Ariën  -
Beheerder

- Ariën -

25/01/2016 13:51:35
Quote Anchor link
Die substr staat er los van. Tenzij je de hele regel of meer dan het getal wilt zien in het tekstveld.

Kort samengevat overschrijf je nu je configuratie-bestand met onvoldoende gegevens.
Dus moet je die ontbrekende gegevens toevoegen aan je variabele $inhoud.
 

Pagina: « vorige 1 2 3 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.