Tom: Session_Register()

Hello,

mal ganz dumm gefragt: Wie würdet Ihr den Code mittels $_SESSION ersetzen?

session_start();
 session_register("client");
 session_register("konfiguration");

Ich finde das nach etwas Überlegung gar nicht mehr so trivial ;-)

Harzliche Grüße aus http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
  1. Hello Session- und IE-Profis,

    noch eine Merkwürdigkeit:

    session.auto_start                Off         Off
    session.bug_compat_42             Off         Off
    session.bug_compat_warn           On          On
    session.cache_expire              180         180
    session.cache_limiter             nocache     nocache
    session.cookie_domain             no value    no value
    session.cookie_lifetime           0           0
    session.cookie_path               /           /
    session.cookie_secure             Off         Off
    session.entropy_file              no value    no value
    session.entropy_length            0           0
    session.gc_divisor                1000        1000
    session.gc_maxlifetime            1440        1440
    session.gc_probability            1           1
    session.name                      PHPSESSID   PHPSESSID
    session.referer_check             no value    no value
    session.save_handler              files       files
    session.save_path                 /sessions/user /sessions/user
    session.serialize_handler         php         php
    session.use_cookies               On          On
    session.use_only_cookies          Off         Off
    session.use_trans_sid             Off         Off

    Das sind meine Einstellungen für Sessions auf meinem Testserver
    register_globals sind eingeschaltet, weil bei den Scripten sonst gar nix mehr laufen würde...

    Nun habe ich die Seite x-mal neu aufgerufen und der freudliche IE hat mich mit einer Session verbunden (durch Übermittlung des entsprechenden Cookies), die schon uralt war (von letzter Woche)
    Das hat er gestern so gemacht und auch heute.
    Der Rechner war zwischendurch aus.

    Die Session war von einem anderen Projektteil, hatte also mit diesem nichts zu tun.
    Da wurden dann natürlich auch Variablen eingeschleppt, die nicht in diesen Projektteil gehörten.

    Hat der IE da ein Problem?
    Oder wo liegt mein Denkfehler?
    'session.cookie_lifetime 0' müsste doch bedeuten, dass keine permanenten Cookies angelegt werden, oder?

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. Hello,

      'session.cookie_lifetime 0' müsste doch bedeuten, dass keine permanenten Cookies angelegt werden, oder?

      Nachtrag:
      Es waren auch im Cache des IE keine permanenten Cookies für den Testaccount auszumachen.
      Kann es sein, dass PHP 4.3.5 da ein Problem mit dem Würfeln hat und ich den IE ganz zu unrecht verdächtige? Aber dann müsste das zwei Tage lang immer dieselbe Sessionnummer gewürfelt haben. Das ist doch recht unwahrscheinlich, oder?

      Ist ja manchmal ganz witzig, was man mit 'ner Nadel und 'nem Heuhaufen so anfangen kann ;-))

      Harzliche Grüße aus http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
  2. Moin!

    Hello,

    mal ganz dumm gefragt: Wie würdet Ihr den Code mittels $_SESSION ersetzen?

    session_start();
    session_register("client");
    session_register("konfiguration");

    Suchen/Ersetzen x 2 über alle Skripte:

    Suche: $client
    Ersetze: $_SESSION["client"]

    Suche: $konfiguration
    Ersetze: $_SESSION["konfiguration"]

    Lösche alle session_register.

    Fertig.

    Sonderfälle wie besondere Konstrukte beim oder vor dem Session-Start bleiben natürlich unberücksichtigt und müssen erstens selbst herausgefunden und dann zweitens eigenständig behandelt werden.

    Ich finde das nach etwas Überlegung gar nicht mehr so trivial ;-)

    Es ist ein etwas anderes Arbeiten, wenn man $_SESSION benutzt, das ist richtig. Trotzdem gibt es zu register_globals=off keinerlei wirklich gute Alternative bei größeren Projekten - und ich nehme mal an, dass du immer noch an diesem Krampf sitzt, welches ich definitiv als "größer" einschätzen würde.

    - Sven Rautenberg

    1. Hello,

      Suchen/Ersetzen x 2 über alle Skripte:

      über alle Scripte, ja das ist richtig

      Fertig.

      Leider eben nicht, weil ja noch mit register_globals=on gearbeitet wird.
      Und das eine lässt sich wohl nicht ohne das andere ersetzen.
      Daher die Frage, ob es denn trotzdem eine "kompatible Möglichkeit" gibt.

      Es ist ein etwas anderes Arbeiten, wenn man $_SESSION benutzt, das ist richtig. Trotzdem gibt es zu register_globals=off keinerlei wirklich gute Alternative bei größeren Projekten - und ich nehme mal an, dass du immer noch an diesem Krampf sitzt, welches ich definitiv als "größer" einschätzen würde.

      Ja, sitze ich.
      Ich übe sozusagen noch, mit php einen String auszugeben [solltest Du mitgelesen haben *g*]
      Das habe ich nun davon.

      Harzliche Grüße aus http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau