Bestimmter Session-Wert verschwindet nach Neuladen

KristophS

Erfahrenes Mitglied
Hallo,

der Wert der Session ($_SESSION["rank"] im Skript), der den Rang speichert wird per init_session() (s.u.) befüllt. Nach dem Einloggen wird dieser auch noch beachtet bzw. zu Testzwecken ausgegeben. Auf meinem lokalen XAMPP-Testserver funktioniert es auch darüberhinaus, doch online (sowohl bei tripod (phpinfo()als auch auf einer privaten Seite) vergisst er den Wert einfach und gibt dort, wo er vorher stand "Array" aus, sowohl bei der zugewiesenen Variable, als auch beim Original. Wenn ich die Zuweisung an $rr weglasse, verschwindet jener Wert trotzdem. Die Fehlerausgabeeinstellung ist E_ALL und nichts wird angezeigt.

init_session()
PHP:
function init_session($name,$r,$id=0)
{
         $_SESSION["drin"] = true;
         $_SESSION["name"] = $name;
         switch($r)
          {
         	case "l": $_SESSION["rank"] =  2; break;
                case "s": $_SESSION["rank"] =  3; break;
                case "v": $_SESSION["rank"] =  1; break;
                default: die("Fehler in init_session: Rangzuweisung nicht möglich!");
         }
         if($r = "l") { $_SESSION["lid"] = $id; }
}

Abgerufen wird dieser Wert beispielsweise wie folgt:
PHP:
$rr = $_SESSION["rank"];
 echo "Rang-Nr.: ".$rr."/".$_SESSION["rank"];

Merkwürdigerweise lässt sich die Session vor dem Problem
nicht anzeigen.

und so sieht das Session-Array im problematischen Zustand aus:
Code:
Array
(
    [drin] => 1
    [rank] => Array
        (
            [name] => Array
                (
                    [2] => Priviligiert
                    [1] => Verwalter
                    [3] => Benutzer
                )

        )

    [temp] => Array
        (
            [debug] => 1
            [zensur] => 
            [rank] => Array
                (
                    [v] => 1
                    [l] => 2
                    [s] => 3
                )

        )

    [name] => BenutzernameX
    [lid] => 0
)

Wie bereits gesagt: Die Rang-Abfrage und somit auch -Zuweisung funktioniert anfangs. Doch nach einem zweiten Aufruf unter dieser Session wird dieser Wert (und nur dieser, soweit ich das bisher gesehen habe) vergessen -- die "Sie sind eingeloggt"-Seite funktioniert trotzdem.

Ich hoffe ihr könnt mir mit diesen Angaben helfen, doch andere Operationen mit diesem Wert gibt es nicht, daher habe ich sie außen vorgelassen.

Gruß,
Kristoph
 
Zuletzt bearbeitet:
Ich habe den Fehler vermutlich gefunden! Anscheinend wurde eine andere Variabel mit dem Namen "rank" einfach übernommen und hat den Wert belegt. Momentan funktioniert es jedenfalls. Sehr ärgerlich: Diese war auch noch unnütz! Danke für eure kleistsche Hilfe :)
 
Zurück