Jones: Erzeugen und Setzen einer Umgebungsvariable

Beitrag lesen

Hi,
hmmm... gute Frage. Meines Wissens nach verfallen die Umgebungsvariablen nach
einem erneuten Seitenaufruf (irren ist menschlich???)!

warum versuchst du es nicht mit session variablen, die bleiben immer erhalten
solange bis sie verfallen oder gelöscht werden...

session_register() usw....

Jones

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

Hallo zammen,

ich möchte eine Umgebungsvariable setzen, da ich für bestimmte Daten einen globalen Zugriff haben möchte und über getenv sie abfragen kann. Ich habe folgende Klasse geschrieben:

class Daten {
   var $param;

function Daten($a_param) {
      $this->param = $a_param;
   }

//setzen der globalen Variable $DATEN
   function daten_Setzen() {
      $i = 0;
      if(getenv("DATEN[0]")) $i = count(getenv("DATEN"));
      putenv("DATEN[$i]=$this->param");
   }

//auslesen der globalen Variable $DATEN
   function daten_Auslesen($a_index) {
      if(getenv("DATEN")) return getenv("DATEN[$a_index]");
   }
}

Instanziierung:

$d = new Daten($variable);
$d->daten_Setzen();
$d->daten_Setzen();
$d->daten_Setzen();
//den 1. Index auslesen
echo $d->daten_Auslesen(0);
echo $d->daten_Auslesen(1);
echo $d->daten_Auslesen(2);

Also bin ich auf 2 Probleme gestoßen:

  1. in der Methode daten_Setzen() will ich die Anzahl der Elememnte im Array auslesen, falls das erste Element bereits gesetzt wurde - also es sollte dann bei 1 beginnen. Leider ist die Sache mit count() nicht erledigt - es wird immmer 1 zurückgegeben. Wie kann ich die Anzahl der Elemente in einem Array (==Umgebungsvariable) auslesen ?
  1. wieso verschwindet die Umgebungsvariable nach dem neuen Laden der Seite ? _COOKIE ist ja immer vorhanden - auch die anderen "Superglobals". Hängt es mit der .ini Konfigurationsdatei zusammen ?

Falls ihr wisst, was ich da tun soll, bitte schreiben :-)

danke im voraus
cu kati