phpbar.de logo

Mailinglisten-Archive

[php] session_unregister()

[php] session_unregister()

Wolfgang Skupin php_(at)_phpcenter.de
Mon, 14 Oct 2002 11:23:04 +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

hallo Jens,

also Outlook ist eingestellt auf  Format für Nachrichten senden = "nur
Text" .
deshalb wunderts mich , dass html versendet wird . Sollte das jetzt
wieder
der Fall sein bitte ich gleich um Entschuldigung und muss wohl die
Einstellungen
noch mal genauer prüfen.

leider klappt das mit  $_SESSION[$key] = $val; auch nicht.
die vars behalten immer den Wert der ersten Registrierung
das ganze ist auch nur ein Test der Session-functionen um diese besser
zu verstehen.
ich verwende php 4.0.6

Wolfgang Skupin


php::bar PHP Wiki   -   Listenarchive