phpbar.de logo

Mailinglisten-Archive

[php] Session-Variable umdefinieren geht nicht?

[php] Session-Variable umdefinieren geht nicht?

Björn Schotte php_(at)_phpcenter.de
Fri, 8 Feb 2002 19:12:26 +0100


* Karin Gerbrich wrote:
> Die Variable $langflag lässt sich problemlos umdefinieren (ist ja
> vorher überhaupt nicht definiert) die Variable $lang lässt sich nicht
> umdefinieren, diese Variable bleibt so, wie im Browser eingestellt ...
> Vielleicht kann mir wer von euch die Augen öffnen?!

Hm, ich finde jetzt mein Posting nicht mehr, daher male
ich es noch mal auf:

Request (POST/GET)
  |
  |
  |
  V
GET/POST/Cookie stehen in PHP zur
Verfügung
  |
  |
  |
  V
Session-Variablen werden importiert.


D.h. wenn in der Session bereits die Variable
$lang existiert und du lang per GET/POST übermittelst,
wird die per GET/POST übermittelte Variable von der
in der Session registrierten "überschrieben".

2 Lösungswege:

- Benenne die Variable in deiner Session anders, z.B. $flang.
  Kopiere nach dem POST $flang = $lang, dann wird die Änderung
  aktiv.
  
- Verwende $lang = $HTTP_POST_VARS["lang"], wenn die Variable
  über das Formular kommt, ansonsten auch $lang = $HTTP_GET_VARS["lang"].
  (Bzw. ab PHP4.1.1 auch via $_POST und $_GET)
  
-- 
PHP-Support * realitätsnahe Performance-Messungen mit Code-Analyse
    Webapplikationsentwicklung * PHP-Schulungen * Consulting
    
             0700-THINKPHP -*- bjoern_(at)_thinkphp.de


php::bar PHP Wiki   -   Listenarchive