De helft word maar opgeslagen

Status
Niet open voor verdere reacties.

Atwist

Terugkerende gebruiker
Lid geworden
24 jan 2006
Berichten
1.055
Besturingssysteem
Wndows 10
Office versie
2016
Hallo,

Forumlid Naarling heeft mij geholpen met onderstaande code zodat ik alles uit het text bestand kon zien op een website en wijzigen, maar bij het opslaan gaat het mis.
na het wijzigen word de regel zo opgeslagen.
Code:
int timer1 = 10	;
int timer2 = 20	;
int timer3 = 30	;

Maar het moet zo.
Code:
int timer1 = 10	;         // Dit is de 1e timer
int timer2 = 20	;         // Dit is de 2e timer
int timer3 = 30	;         // Dit is de 3e timer

Ik heb helaas geen idee hoe ik dit moet aanpakken zodat alles word opgeslagen.

PHP:
<?php
   function splitData($data)
   {
      $result = array();
     
      foreach ($data as $line)
      {
         $line = trim($line);
		preg_match('/\/\/(.*)/' , $line, $description ); //regex om alle karakters achter // op te halen, de preg_match functie gooit het resultaat in de $description variabele. 
		$lineDescription = isset($description[1]) ? $description[1] : '';         
		$line = str_replace(array("int ", "=", ";", "//"), "", $line); // alle te vervangen strings staan nu in een array, scheelt weer een paar regels
		$line = array_values(array_filter(explode(" ", $line)));    //array_filter om lege resultaten uit de array te halen, array_values om de teller van de array te resetten   
		$result[$line[0]]['value'] = $line[1];
		$result[$line[0]]['description'] = $lineDescription;

      }
     
      return $result;
   }
   
   if (isset($_POST['field']))
   {
       $data = array();
       foreach ($_POST['field'] as $key => $value)
           $data[] = "int $key = $value;";
           
       file_put_contents("config.txt", implode("\n", $data));
   }
   else
      $data = file("config.txt", FILE_SKIP_EMPTY_LINES);
   
   $data = splitData($data);


 ?>
<html>
<body>
<form action="<?=$_SERVER['SCRIPT_NAME']; ?>" method="post">
<?php
    foreach ($data as $key => $value)
	echo "$key: <input typ='text' name='field[$key]' value='".$value['value']."'>".$value['description']."<br>\n";

	if (! is_writable("config.txt"))
    echo "<span style='font-weight: bold; color: #ff0000'>config.txt Kon niet worden beschreven.</span><br>\n";
?>
	  <br>
	  <br>
	  <input type="submit" name="submit" Value="Speichern">
	 
</form>
</body>
</html>
 
Is dat commentaar echt verplicht?
 
Ja maar verplicht is een groot woord, men heeft hier op het forum het grootste gedeelte zo opgelost.
PHP:
 <?php
$filename = "config.txt";
$file = file($filename);
if($_SERVER['REQUEST_METHOD']=="POST")
{
$inhoud='
int timer1 = '.$_POST['input1'].';
int timer2 = '.$_POST['input2'].';
';
file_put_contents($filename,$inhoud);
}
else
{
?>
<form action="" method="post">
<div>
<label><?php echo substr($file [1], 0, 12);?></label>
<input type="text" name="input1" size="5" value="<?php echo substr($file [1], 13, 2);?>">
<label>de standaard waarde is 40</label>
</div>
<div>
<label><?php echo substr($file [2], 0, 12);?></label>
<input type="text" name="input2" size="5" value="<?php echo substr($file [2], 13, 2);?>">
    <label>de standaard waarde is 65</label>
</div>
	<br>
	<center><input type="submit" value="Opslaan" > <br></center>
</form>
<?php
}
?>
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan