phpbar.de logo

Mailinglisten-Archive

[php] session_unregister()

[php] session_unregister()

Reinemuth, Jens php_(at)_phpcenter.de
Mon, 14 Oct 2002 09:51:07 +0200


>  while (list($key, $val) = each($HTTP_POST_VARS)):
> if(session_is_registered($key)) {session_unregister($key); }
>              session_register ($key);
> endwhile;
>
> versuche ich den eintrag einer var in der session  neu zu
> registrieren , aber session_unregister() klappt nicht.
> d.h. die bereits reistrierte var behält immer den zuerst zugewiesenen
> wert.
> was ist mein fehler ?


Zunächst mal ist der größte Fehler, dass du das HTML-Format für Mails
verwendest ;-)))


Dann zum eigentlichen Fehler in deinem Code:

du un-(registerst) einfach variablen mit dem Namen von POST-Vars, ohne Ihnen
deren Wert
zuzuweisen...

Nur weil es ein Globale Session Variable mit dem gleichen Namen eines
ArrayIndexes gibt,
hat diese noch nicht dessen Inhalt...

Richtig wäre:

while ( list($key,$val) = each($HTTP_POST_VARS) ) {
	if(session_is_registered($key)) {
		session_unregister($key);
	}
            session_register ($key);
	$_SESSION[$key] = $val;
}

By the way ich mag die Syntax mit {} ganz gerne...

Außerdem sollte man sich überlegen, ob es wirklich sinn macht die Vars
zu unregistern, nur um sie gleich danach wieder zu registern... ein
einfaches Überschreiben
der Werte sollte genügen...

jens
--
[jens reinemuth * jreinemuth_(at)_activeweb.mis.de]
---------------------------------------------------------------------
God said: tar xfvz universe.tar.gz - and the Universe was!


php::bar PHP Wiki   -   Listenarchive