phpbar.de logo

Mailinglisten-Archive

[php] Sessionvariable in Funktion

[php] Sessionvariable in Funktion

Markus Wolff php_(at)_phpcenter.de
Mon, 20 Aug 2001 01:01:57 +0200


Hallo Liste,

ich hab ein dezentes Problem... ich will eine Sessionvariable in einer
Funktion ver=E4ndern und den ver=E4nderten Wert wieder zur=FCck in die Sess=
ion
speichern... das klingt doch eigentlich ganz einfach, was?

Der Witz ist: Das funktioniert nicht. Genauer gesagt, wird die Variable
nur dann in der Session registriert, wenn sie vorher noch nicht
vorhanden war. Bei allen sp=E4teren Funktionsaufrufen wird der ver=E4nderte
Wert nicht in die Session zur=FCckgeschrieben.

So sieht der Code aus:

function logInvalidLogin($userName,$failType)
{
    global $HTTP_SESSION_VARS;=20
    global $invLoginData;     // Jenes ist die Variable, um die es geht

[...=FCberfl=FCssiges entfernt...]

    if(isset($HTTP_SESSION_VARS["invLoginData"]))
    {
        $invLoginData =3D $HTTP_SESSION_VARS["invLoginData"];
        $invLoginData[$userName]++;
        session_register("invLoginData");
    }
    else
    {
        // Die Erstregistrierung geht immer.
        $invLoginData[$userName] =3D 1;
        session_register("invLoginData");
    }
}

Wenn ich =E4hnliches au=DFerhalb von Funktionen versucht habe, hatte das
bisher immer geklappt.

PHP-Version ist =FCbrigens 4.0.2 - ich hoffe, es h=E4ngt nicht damit
zusammen, denn zu einem Update werde ich die Betreiber des Servers nur
schwer =FCberreden k=F6nnen :-(

Gru=DF,
 Markus


--=20
*21st Media*    | Consulting, Konzeption, Produktion f=FCr die Bereiche:
Markus Wolff    | Internet, Intranet, eCommerce, Content Management,
Hamburg,Germany | Softwareentwicklung, 3D-Animation, Videostreaming
http://21st.de  | Tel. [+49](0)40/68879490, Fax: [+49](0)40/68879491



php::bar PHP Wiki   -   Listenarchive