Mailinglisten-Archive |
> > 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