wieder session u. array

polar

Mitglied
hi! ich hab's schon in einem anderen forum geposted, aber vieleicht hat hier ja jemand eine idee. folgendes...

ich versuche ein array in einer session von script zu script zu tranportieren. in script1.php registriere ich $mein_arr für die session. sieht dann so aus:

PHP:
session_name("s"); 
session_start(); 
session_register("mein_arr");

in den folgenden scripts verwende ich nur noch:

PHP:
session_name("s");
session_start();

die session funktionen/befehle, stehen immer in den ersten zeilen im script. sollte ja ok sein!? =)

-------------------------------------------------------

weiter gehts...

(script1.php, das array initialisieren)

PHP:
$query = "select id from $table";
$result = mysql_query($query);
  
if(mysql_num_rows($result)) {
  while($row = mysql_fetch_array($result)) {
    $mein_arr = array($row["id"] => 0);
    flush();
  }
}

(script2.php, das array aktualisieren)

PHP:
function refresh_arr($var1, $var2) {
  if(session_is_registered("mein_arr")) {
    global $mein_arr;
    reset($mein_arr);

    while(list($id, $am) = each($mein_arr)) {
      if($id == $var1)
        $mein_arr["$id"] = $var2;
    }
			
  }
}

die funktion in script2.php klappt schon nicht. es wird zb. über echo nur der letzte wert angzeigt. und das zuweisen funzt auch nicht.

(script3.php, das array auslesen)

PHP:
function print_arr() {
  if(session_is_registered("mein_arr")) {
    global $mein_arr;
    reset($mein_arr);

    while(list($id, $am) = each($mein_arr))
      echo "$id => $am<br>\n";
  }
}

wenn ich den inhalt von $mein_arr auslesen möchte, wird nur der letzte wert angezeigt: 13 => 0

:/

wer hat einen heissen tip für mich? *fg*

edit: nachtrag: ich glaube ich frage besser mal, wie kann ich ein assoziatives array (also key und value) in einer schleife füllen?? das ist genau das was ich brauche.
 
Zuletzt bearbeitet:
Zurück