Eiermann: Variablen updaten ohne Datenbank

Beitrag lesen

Hallo zusammen,

ich versuche zur Zeit für ein online Spiel, einen Datenauswerter zu bauen.
Man bekommt jeden tag einen Bericht in gleichbleibender Form, in dem jeden Tag andere Werte nicht bekannt sind. So kann man, wenn man genügend Berichte gesammelt hat, einen vollständigen Bericht erzeugen.

Dies möchte ich nun umsetzen, in dem man die vorhandenen Berichte in eine Textarea kopiert. Sobald man auf abschicken drückt, wird eine zu Beginn noch recht unvollständige Tabelle angezeigt - je mehr Berichte geposted werden, desto weniger Informationen sollten dann auch dort fehlen. Jedoch habe ich das Problem, dass die alten Werte nicht beim neuladen der Seite übernommen werden - und somit auch nicht aktualisiert werden können.

Das ist mein Code:

  
  
<?php  
  
echo '<form action="'.$_SERVER["PHP_SELF"].'" method="post">';  
echo '<textarea name="spy" cols="65" rows="15">';  
echo '</textarea>';  
echo '<input type="submit" value="Check...">';  
echo '</form>';  
  
if (isset($_REQUEST["spy"])) {  
  
 echo "<table border=\"1\">";  
 echo "<tr style=\"background-color: #B9B9B9;\">";  
 echo "<th>A</th>";  
 echo "<th>B</th>";  
 echo "<th>C</th>";  
 echo "<th>D</th>";  
 echo "<th>E</th>";  
 echo "<th>F</th>";  
 echo "<th>G</th>";  
 echo "</tr>";  
  
 $lines = preg_split("/\r\n/", $_REQUEST["spy"]);  
 $oldlines = $_SESSION["oldlines"];  
  
 $i = 0;  
 $lines_in = $lines;  
  
 foreach ($lines_in as $value_in){ //input lines new data  
  
  list($a_in, $b_in, $c_in, $d_in, $e_in, $f_in, $g_in) = explode(" ", $value_in); //new data => vars  
  list($a_old, $b_old, $c_old, $d_old, $e_old, $f_old, $g_old) = explode(";", $value_old); //old data => vars  
  
    //update data  
  
  if (isset($value_old)) {  
  
  if ($a_in != "??") {$a = $a_in;} elseif ($a_old != "unknown") {$a = $a_old;} else {$a = "unknown";}  
  if ($b_in != "??") {$b = $b_in;} elseif ($b_old != "unknown") {$b = $b_old;} else {$b = "unknown";}  
  if ($c_in != "??") {$c = $c_in;} elseif ($c_old != "unknown") {$c = $c_old;} else {$c = "unknown";}  
  if ($d_in != "??") {$d = $d_in;} elseif ($d_old != "unknown") {$d = $d_old;} else {$d = "unknown";}  
  if ($e_in != "??") {$e = $e_in;} elseif ($e_old != "unknown") {$e = $e_old;} else {$e = "unknown";}  
  if ($f_in != "??") {$f = $f_in;} elseif ($f_old != "unknown") {$f = $f_old;} else {$f = "unknown";}  
  if ($g_in != "??") {$g = $g_in;} elseif ($g_old != "unknown") {$g = $g_old;} else {$g = "unknown";}  
  
  } else {  
  
  if ($a_in != "??") {$a = $a_in;} else {$a = "unknown";}  
  if ($b_in != "??") {$b = $b_in;} else {$b = "unknown";}  
  if ($c_in != "??") {$c = $c_in;} else {$c = "unknown";}  
  if ($d_in != "??") {$d = $d_in;} else {$d = "unknown";}  
  if ($e_in != "??") {$e = $e_in;} else {$e = "unknown";}  
  if ($f_in != "??") {$f = $f_in;} else {$f = "unknown";}  
  if ($g_in != "??") {$g = $g_in;} else {$g = "unknown";}  
  
  }  
  //output in table  
  
  echo "<tr>";  
  echo "<td>$a</td>";  
  echo "<td>$b</td>";  
  echo "<td>$c</td>";  
  echo "<td>$d</td>";  
  echo "<td>$e</td>";  
  echo "<td>$f</td>";  
  echo "<td>$g</td>";  
  echo "</tr>";  
  
  $oldlines = "$a;$b;$c;$d;$e;$f;$g<br>";  
  echo "$oldlines";  
  $i++;  
  
  }  
 echo "</table>";  
 }  
  
 echo "$oldlines";  
 $_SESSION["oldlines"] = $oldlines;  
  
?>  
  

die ausgabe echo "$oldlines"; funktioniert nur im foreach und nicht ausserhalb (es wird nur die letzte Zeile der eingelesenen Daten ausgegeben), weshalb ich davon ausgehe, dass das auch der Grund ist, warum ich die $oldlines nicht über $_SESSION übernehmen kann.

Hat irgendwer einen Tipp für mich, wie ich das anstellen kann, dass quasi $oldlines wieder übernommen wird, damit die $oldlines mit den neu eingegebenen Daten upgedatet werden kann?

Ich steh hier gerade seit 3 Tagen auf dem Schlauch und komme absolut nicht weiter.

Danke schoneinmal, und LG

Eiermann