Uwe_L: ADODB SESSION von PHP 4 auf 5 / ADODB 4 auf 5

Guten Morgen,

ich habe die Pflege einiger PHP Dateien übernommen, mit PHP komme ich ja so langsam einigermaßen klar.
Das Problem ist jetzt das Login wird mit ADODB Session durchgeführt. Beim Wechsel von PHP 4 auf 5 musste auch ADODB 5 genommen werden.

Es mussten einige kleine Änderungen in der Struktur der Tabelle session vorgenommen werden und einige Verweise mussten geändert werden.

Das Login funktioniert über anmeldename und pw.
Dabei wird
$_SESSION["typ"]=$row_qlogin["typ"];
und
$_SESSION["codenr"]=$row_qlogin["codenr"];
festgelegt

Nur in der Version 5 wird die Codenummer nicht mehr übergeben. Alle anderen Sitzungsvariablen kann ich auslesen und verwerten.

Das Problem scheint beim Insert in die Tabelle Session zu liegen.
in der Tabelle Session Spalte Data steht nach dem Login
'%5C%27codenr%7Cs%3A4%3A%229999%.........................'
in der Version 4 sah das ganze so aus
codenr%7Cs%3A4%3A%229999%.........................

Also keine einfachen Hochkommas und keine Zeichen vor codenr.
Lösche ich "manuell" die Zeichen vor dem codenr, "funktioniert" die Session, die Sitzungsvariable $_SESSION["codenr"] ist vorhanden.

Ich hoffe das ich mich deutlich ausgedrückt habe und das jemand die gleichen Probleme schon hatte und mir weiterhelfen kann.

Vielen Dank
Uwe

  1. Hallo,

    '%5C%27codenr%7Cs%3A4%3A%229999%.........................'
    in der Version 4 sah das ganze so aus
    codenr%7Cs%3A4%3A%229999%.........................

    suche in den Scripten, die für das erstellen und speichern der Session verantwortlich sind nach einer unauffälligen Zeichenkette "\'". Vermutlich ist irgendwo ein Tippfehler darin, der so aussehen könne: $variable='\'irgend eine Inhalt oder Variable';

    Gruß aus Berlin!
    eddi

    --
    Du hast Aufgaben bekommen!
    1. suche in den Scripten, die für das erstellen und speichern der Session verantwortlich sind nach einer unauffälligen Zeichenkette "\'". Vermutlich ist irgendwo ein Tippfehler darin, der so aussehen könne: $variable='\'irgend eine Inhalt oder Variable';

      Hallo Eddi

      ich habe zwar nicht gefunden woran es liegt aber ich habe gefunden wie ich es verhindern kann.

      ich lege die Sessionvariablen fest in folgender Reihenfolge

      $_SESSION["codenr"]=$row_qlogin["codenr"];
      $_SESSION["typ"]=$row_qlogin["typ"];

      es wird immer (egal welche variable wo steht) die erste Sessionvariable nicht genommen.

      Jetzt habe ich es so gemacht
      $_SESSION["dummy"]="dummy";// erste Variable wird nicht ordnungsgem. in tab geschrieben.
      $_SESSION["codenr"]=$row_qlogin["codenr"];
      $_SESSION["typ"]=$row_qlogin["typ"];

      Jetzt funktioniert die Anmeldung wieder.
      Dein Tipp werde ich morgen versuchen.

      Danke
      Uwe