Antje: session wird nach submit geleert

Beitrag lesen

Hallo,
ich habe ein problem mit meinen sessionvariablen.
wenn ich ein objekt aus eienr liste wähle existiert die session für das inputfeld noch. aber wenn ich eine änderung abschicken will, dann ist die session für das inputfld leer. aber nicht für die combobox. kann mir jemand helfen und sagen, wie man die session für inputs speichern kann, und warum das ein unterchied ist, ob man inputs oder selects behandel?

<?php
 session_start();
 include_once dirname ( __FILE__ ) ."/library/db_connect.php"; // db_connect wird einmalig eingebunden
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">
 <head>
  <title>Projekterfassung</title>
  <link rel="stylesheet" type="text/css" href="css/layout.css" title="layout"/>
 </head>
 <body>
  <div id="main">
   <div id="sidebar">
    <?php
     echo "<table CELLSPACING=14>";
      echo "<tr>";
       echo "<td>";
/**********************************************/
/*Projekte-ARRAY zur Auswahl eines Projektes */
/**********************************************/
        $db = getDB();
        $sql = "SELECT * FROM projekt";
        $result = mysqli_query($db,$sql);
        $index = "pr_ID";

function getProjekteArray($result, $index){
         while ($zeile = mysqli_fetch_assoc($result)){
          $projekte[$zeile[$index]] = $zeile;
         }
         return($projekte);
        }
        $projekte_array = getProjekteArray($result, $index);

if (!isset($selection) || $selection == ''){
         $selection = $_POST['projekt_Metrik'];
        }

echo "<form name='projekt_Metrik' method='post' action='".htmlspecialchars($_SERVER['PHP_SELF'])."'>\n";
         echo "<select name='projekte' size='40' style='width:175px' onChange = 'this.form.submit();'>\n";
          foreach (array_keys($projekte_array) as $key ){
           echo "<option value='".$projekte_array[$key]['pr_ID']."' ".($selection==$projekte_array[$key]?"selected":"").">".$projekte_array[$key]['pr_Name']."</option>\n";
          }
         echo "</select>\n";
       echo "</td>\n";
      echo "</tr>\n";
     echo "</table>\n";
   echo "</div>";//sidebar
   echo "<div id='content'>\n";
/*********************************************/
//Kunden-ARRAY zur Auswahl eines Projektes  */
/*********************************************/
    $db = getDB();
    $sqlKunde = "SELECT * FROM kunde, projekt WHERE projekt.ku_ID = kunde.ku_ID AND projekt.pr_ID = '".$_POST['projekte']."'";
    $result = mysqli_query($db,$sqlKunde);
    $index = "pr_ID";

function getSelPRArray($result, $index){
     while ($zeile = mysqli_fetch_assoc($result)){
      $selPr[$zeile[$index]] = $zeile;
     }
     return($selPr);
    }

$selProjekt_array = getSelPRArray($result, $index);
/**************************************/
//Domäne                              */
/**************************************/
    $db = getDB();
    $sqlDomaene = "SHOW COLUMNS FROM kunde LIKE 'ku_Domaene'";
    $result = mysqli_query($db,$sqlDomaene);

if(mysqli_num_rows($result)>0){
     $row=mysqli_fetch_row($result);
     $werteDomaene =  explode("','",preg_replace("/(enum|set)('(.+?)')/","\2",$row[1]));
    }
     if (!isset($_POST['to_sel_Domaene']) || $_POST['to_sel_Domaene'] = '' ){
      $_SESSION['to_sel_domaene'] = $_POST['ku_Domaene'];
    }
    if (isset($_POST['to_sel_Domaene']) && ($_POST['to_sel_Domaene'] != $_POST['ku_Domaene'])){
     $_POST['to_sel_Domaene'] = $_POST['ku_Domaene'];
    }
/**********************************************************************************/
/*Aufbau des Formular-Hauptteils, wenn ein Projekt im 'projekte' ausgewählt wurde*/
/**********************************************************************************/
    if($_POST['projekte'] != NULL){

foreach (array_keys($selProjekt_array) as $key ){
      $_SESSION['pr_ID'] = $selProjekt_array[$_POST['projekte']]['pr_ID'];
      $_SESSION['ku_ID'] = $selProjekt_array[$_POST['projekte']]['ku_ID'];
      $_POST['pr_Name'] = $selProjekt_array[$_POST['projekte']]['pr_Name'];
      $_SESSION['ku_Domaene'] = $selProjekt_array[$_POST['projekte']]['ku_Domaene'];

echo "Session Projekt ID: ".$_SESSION['pr_ID']."<br>";
      echo "Session Kunde ID: ".$_SESSION['ku_ID']."<br>";
      echo "Session Projekt Name: ".$_POST['pr_Name']."<br>";
      echo "Session Kunde Domaene: ".$_SESSION['ku_Domaene']."<br>";

/*Projektname*/
      echo "<table>\n";
       echo "<tr>\n";
        echo "<td>Projektname</td>\n";
         //echo "<td colspan='0'><input id='pr_Name' SIZE=100px></input></td></tr>";
         echo "<td colspan='0'><input name='".$selProjekt_array[$_POST['projekte']]['pr_ID']."' size='100' value='".$selProjekt_array[$_POST['projekte']]['pr_Name']."'></input></td>\n";
       echo "</tr>\n";
      echo "</table>\n";
      echo "Kundeninformationen\n";
      echo "<hr />\n";
      echo "<table>\n";
       echo "<tr>\n";
        $dom = $selProjekt_array[$_POST['projekte']]['ku_Domaene'];
        $seldom = $_POST['ku_Domaene'];
        echo "<td>Fachbereich</td>\n";
        echo "<td colspan='2'><select name='ku_Domaene' size='1' style='width:150px'>\n";
         //echo "<option selected value='".$selProjekt_array[$_POST['projekte']]['ku_Domaene']."' ".($_selection==$selProjekt_array[$_POST['projekte']]['ku_Domaene']?"selected":"").">".$selProjekt_array[$_POST['projekte']]['ku_Domaene']."</option>\n";
         foreach(array_keys($werteDomaene) as $key){
          if($werteDomaene[$key]==$dom){
           echo "<option selected value='".$werteDomaene[$key]."'>".$werteDomaene[$key]."</option>";
          }else{
           echo "<option value='".$werteDomaene[$key]."'>".$werteDomaene[$key]."</option>";
          }
         }
        echo "</select></td>\n";
       echo"</tr>\n";
      echo "</table>";

}

/************************************/
//Projekt-aendern Button            */
/************************************/
     echo"<div align='right'>";
      echo "<input type='submit' name='pr_Aendern' value='Projekt ändern' onChange = 'this.form.submit();'>";
     echo "</div>\n";
     }

if($_POST['pr_Aendern']){
     /*Sessionübergabe an die Variablen die die Datenbank füttern*/
     /*Davor notwendig das die sessionvariablen die Werte von den GETTERN bekommen*/
     $pr_Name = $_POST['pr_Name'];
     $ku_Domaene = $_SESSION['ku_Domaene'];
     $pr_ID = $_SESSION['pr_ID'] ;
     $ku_ID = $_SESSION['ku_ID'] ;
     $db = getDB();
     $update = ("UPDATE projekt, kunde SET
          projekt.pr_Name = '$pr_Name',
          kunde.ku_Domaene = '$ku_Domaene',
          WHERE projekt.pr_ID = '".$pr_ID."' AND kunde.ku_ID = '".$ku_ID."'");
      echo "Session Projekt ID: ".$_SESSION['pr_ID']."<br>";
      echo "Session Kunde ID: ".$_SESSION['ku_ID']."<br>";
      echo "Session Projekt Name: ".$_POST['pr_Name']."<br>";
      echo "Session Kunde Domaene: ".$_SESSION['ku_Domaene']."<br>";
    }
        echo "</form>";
    ?>
   </div><!--content-->
  </div><!--main-->
 </body>
</html>