Osiris: $_Session

Tach zusammen

Vielleicht kann mir jemand hierzu mal einen Tipp geben. Ich habe mir ein Loginscript in PHP geschrieben, welches Daten über $_Session an Folgeseiten weiter gibt. Funktioniert auch alles so wie ich das will, nur wollte ich eben eine weitere Funktion ergänzen, und bin dabei auf das folgende Problem gestossen.
In meiner Datenbank steht ein Wert wie beispielsweise "12345", ein zweiter Wert wie beispielsweise "123_45" und ein dritter Wert als Beispiel "123-45".
Diese drei Werte lese ich aus und speichere sie in drei $_Session-Variablen.

Sollte also sein:
$_Session[1]= "12345"
$_Session[2]= "123_45"
$_Session[3]= "123-45"

Tatsächlich sind die Werte aber

$_Session[1]= "12345"
$_Session[2]= "12345"
$_Session[3]= "12345"

sprich ich bekomme keine "Sonderzeichen" da rein.

Fiel mir auf, da ich in meinen Passwörter eigentlich immer ein Minuszeichen benutze. ;)

Irgendein Tipp für mich?

  1. sprich ich bekomme keine "Sonderzeichen" da rein.

    das kann ich bei mir nicht nachvollziehen. benutze die neuste PHP version.

    Gruß,
    Niklas

    1. das kann ich bei mir nicht nachvollziehen. benutze die neuste PHP version.

      Ich ja leider auch nicht. Als Version läuft auf dem Server die 5.0.32.

      1. das kann ich bei mir nicht nachvollziehen. benutze die neuste PHP version.

        Ich ja leider auch nicht.

        Mit nachvollziehen meine ich, dass das problemchen bei mir nicht auftritt...

        1. Mit nachvollziehen meine ich, dass das problemchen bei mir nicht auftritt...

          So hatte ich das auch gelesen. Aber ok, ich bin der Sache einen Schritt näher gekommen. Der hat NICHT die Variable verändert sondern bekommt irgendwoher einen falschen Wert aus einer anderen Datenbank. :((

          Wenn ich $_SESSION['Password'] nehme und einen Wert zuweise, geht es nicht, mit (zB) $_SESSION['MeinPassword'] wird der richtige Wert übergeben.

          *shrug*

          Wird also eine unsaubere Programmierung meinerseits sein, die ich jetzt mal ausmerzen muss. Dennoch danke.

          1. Hello,

            Wenn ich $_SESSION['Password'] nehme und einen Wert zuweise, geht es nicht, mit (zB) $_SESSION['MeinPassword'] wird der richtige Wert übergeben.

            lass mich mal raten: du hast zuvor ein Formular abgeschickt, das ein Formularfeld "Password" beinhaltet. Richtig? Wenn ja, dann hat dein Server fatalerweise register_globals aktiviert. Das solltest du - nach Möglichkeit - ändern.

            MfG
            Rouven

            --
            -------------------
            sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
            There's no such thing as a free lunch  --  Milton Friedman
            1. Wenn ja, dann hat dein Server fatalerweise register_globals aktiviert. Das solltest du - nach Möglichkeit - ändern.

              Was zum Henker hat das miteinander zu tun?

              Gruß,
              Niklas

  2. echo $begrüßung;

    Diese drei Werte lese ich aus und speichere sie in drei $_Session-Variablen.

    Sollte also sein:
    $_Session[1]= "12345"
    $_Session[2]= "123_45"
    $_Session[3]= "123-45"

    Tatsächlich sind die Werte aber

    $_Session[1]= "12345"
    $_Session[2]= "12345"
    $_Session[3]= "12345"

    sprich ich bekomme keine "Sonderzeichen" da rein.
    Irgendein Tipp für mich?

    Erstens heißt es $_SESSION, und zweitens ist mir kein Mechanismus bekannt, der die Daten derart verfälscht. Betreibe Debugging. Verfolge den Weg der Werte durch Kontrollausgaben. Das error_reporting auf E_ALL (und display_errors auf on) zu stellen hilft auch, Fehler zu finden.

    echo "$verabschiedung $name";