Matthias Fleischer: Arrays mit session_register() versenden ??

Beitrag lesen

for ($i = 0; $i < 10; $i++){
        echo "$anzahl[$i]";
    }

@session_start();
   session_register('$anzahl[$i]','$größe[$i]','$code[$i]');
   $loc= "somewhere.php?".SID;
   Header("Location: $loc");

Zweierlei Dinge grundsätzlich dazu:
1. Ich würde grundsätzlich dazu raten, nicht mehr mit session_register() zu arbeiten. Die Verwendung der Superglobals (in diesem Fall $_SESSION) ist zum einem oftmals durchaus komfortabler und macht zum anderen den Code auch leichter nachvollziehbar, da der Ursprung einer Variable eindeutig ist.
2. Du willst doch eigentlich die kompletten Arrays in der Session speichern? Warum also das Registrieren einzelner Elemente?

Konkret würde der passende Aufruf mittels $_SESSION so aussehen:

$_SESSION["anzahl"] = $anzahl;
$_SESSION["code"] = $code;
...

session_start();
session_register('$anzahl[$i]','$größe[$i]','$code[$i]');

Der Aufruf von session_start() ist vollkommen ausreichend, um die Session-Variablen wiederherzustellen. Entsprechend dem obigen Aufruf, kannst Du die Variablen dann wieder über $_SESSION["variablenname"] wieder zugreifen.
Im Übrigen wäre $i bei diesem Aufruf ja auch undefined...

@wahsaga: Das Sessionmanagement von PHP tut letztlich (stark vereinfacht) nichts anderes als für die Sessionvariablen serialize() bzw. unserialize() aufzurufen und diese Information aus einer Datei zu lesen bzw. in diese zu schreiben (plain ASCII).