guma: veraltete Session modernisieren

Hallo zusammen,

auch wenn mich jetzt jeder fertig macht möchte ich mein altes Session-Managment meiner Webseite outen:

//-----------------Session Management--------------------------
session_start();
// Wenn der Datei eine Session ID übergeben wurde, dann diese reaktivieren
if (isset ($HTTP_GET_VARS[session_name()])) session_id( ${session_name()} );

// Wenn folgende Variablen in der Session existieren dann diese reaktivieren
if (session_is_registered("order")) session_register("order");
if (session_is_registered("direction")) session_register("direction");
if (session_is_registered("page")) session_register("page");

// Gibt es diese Variablen noch nicht werden sie initialisiert oder erhalten den
// Wert, der ihnen per HTTP_GET zugewiesen werden soll
if ($order==NULL)     $order="datum";    else if ($HTTP_GET_VARS["order"]!=NULL)     $order=$HTTP_GET_VARS["order"];
if ($direction==NULL) $direction="DESC"; else if ($HTTP_GET_VARS["direction"]!=NULL) $direction=$HTTP_GET_VARS["direction"];
if (!(isset ($page))) $page=0;           else if (isset ($HTTP_GET_VARS["page"]))    $page=$HTTP_GET_VARS["page"];

// Variablen werden neu in die Session geschrieben
session_register("order","direction","page");
//-----------------Session Management Ende----------------------

Könnt ihr mir helfen die session neu aufzubauen. Es hat sich ja in den letzten Jahren einiges geändert. bestimmt geht das kürzen und besser. Bin dankbar über Hilfe.

Guma

  1. Moin!

    Könnt ihr mir helfen die session neu aufzubauen. Es hat sich ja in den letzten Jahren einiges geändert. bestimmt geht das kürzen und besser. Bin dankbar über Hilfe.

    Zunächst mal mußt du alle deine benutzten Session-Variablen ausfindig machen (kann mir nicht vorstellen, dass dein kurzer Abschnitt da alles gewesen sein soll).

    Session-Variablen wurden früher mit session_register() deklariert. Also durchsuchst du deine gesamten Skripte dateiübergreifend erst einmal nach "session_register(" und notierst dir sämtliche Vorkommen.

    Dann konvertierst du alle derartigen Session-Variablen in Zugriffe auf das Array $_SESSION: Aus $order wird $_SESSION['order'].

    Danach entfernst du alle Aufrufe von session_register() aus deinem Quelltext. Und auch alle Zugriffe auf session_is_registered() ersetzt du, sofern es notwendig erscheint, durch isset() und prüfst damit, ob in $_SESSION ein entsprechender Array-Eintrag existiert.

    Und danach kommt dann vermutlich noch eine Runde Bugfixing, weil alles nicht so glatt läuft, wie man sich das wünscht.

    - Sven Rautenberg

    --
    My sssignature, my preciousssss!
    1. Vielen dank Sven, dann lege ich mal los und melde mich wieder.

      guma

      Moin!

      Könnt ihr mir helfen die session neu aufzubauen. Es hat sich ja in den letzten Jahren einiges geändert. bestimmt geht das kürzen und besser. Bin dankbar über Hilfe.

      Zunächst mal mußt du alle deine benutzten Session-Variablen ausfindig machen (kann mir nicht vorstellen, dass dein kurzer Abschnitt da alles gewesen sein soll).

      Session-Variablen wurden früher mit session_register() deklariert. Also durchsuchst du deine gesamten Skripte dateiübergreifend erst einmal nach "session_register(" und notierst dir sämtliche Vorkommen.

      Dann konvertierst du alle derartigen Session-Variablen in Zugriffe auf das Array $_SESSION: Aus $order wird $_SESSION['order'].

      Danach entfernst du alle Aufrufe von session_register() aus deinem Quelltext. Und auch alle Zugriffe auf session_is_registered() ersetzt du, sofern es notwendig erscheint, durch isset() und prüfst damit, ob in $_SESSION ein entsprechender Array-Eintrag existiert.

      Und danach kommt dann vermutlich noch eine Runde Bugfixing, weil alles nicht so glatt läuft, wie man sich das wünscht.

      • Sven Rautenberg
    2. Hello Sven,

      das eigentliche Problem dürfte auch hier sein, dass die alten Sessionfunktionen mit register_globals = on zusammen laufen.

      Guma muss deshalb leider beide Vorgehensweisen anpassen.

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

      Tom

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