olli: session nur über zwei seiten

nabend,

woran liegt es das ich meine sessiondaten nur über zwei seiten nutzen kann? ich logg mich ein, komme auf eine interne seite, dort klicke ich irgendeinen link auf der seite an, komme eine seite weiter.
hier sind meine sessionid und die variable die immer mit übergeben werden muss noch da.
aber jetzt , also nach der zweiten seite sind die daten weg. also sie werden auf der seite noch angezeigt, habe das mal mit echo überprüft, aber sie landen nicht mehr im link, auch wenn ich mir einen link von dieser seite aus bastle funktioniert es nicht.

danke für tipps

  1. session_start() gemacht ?

    1. session_start() gemacht ?

      ja

      1. session_start() gemacht ?
        ja

        Auf jeder Seite?

        dbenzhuser

        1. session_start() gemacht ?
          ja

          Auf jeder Seite?

          ja

          vielleicht ist auch meine denkrichtung falsch.
          wie mache ich eine variable mit der die session quasi erzeugt wurde ( z.b. der benutzername) immer für jede unterseite verfügbar?

          ich möchte ohne kekse arbeiten und übergebe sie per url
          dazu habe ich jeden link so definiert

          <?php echo "<a href='kontakt.php?sid=$session_id&benutzer=$usr'>Kontakt</a>";?>

          und wie schon gesagt, über 2 seiten geht das

          auf der dritten dann eben nicht..

          danke

          1. N'Obend!

            <?php echo "<a href='kontakt.php?sid=$session_id&benutzer=$usr'>Kontakt</a>";?>

            So, entweder weißt du noch nicht wirklich wie sessions funktionieren, ich habe dein Problem falsch verstanden, oder aber (gut möglich) ich selbst habs falsch verstanden.

            Folgende Sachen sind einfach ausch meinem schlechten Gedächtniss rausgekramt, keine Garantie auf gar nix:

            Du brauchst die session_id nicht per url weitergeben, das managed alles der Server für dich: Wird ein Cookie vom Benutzer abgelehnt, wird automatisch per URL weitergeleitet.

            Wenn du den benutzernamen auf jeder Seite haben willst, musst du ihn für die Session-ID registrieren:
            session_register(name);
            Dann kann auf jeder folgenden Seite auf "name" zugegriffen werden, weitere Übergaben sind nicht nötig. Dein Link muss also im Endeffekt gar nicht für die Übergabe geändert werden,

            <?php echo "<a href='kontakt.php'>Kontakt</a>";?>

            ist schon genug.
            (Auf jede Unterseite gehört wieder  session_start();)

            Ich hab mich allerdings schon einige Zeit nicht mehr mit Sessions befasst, ist sicher schon ein Jahr her... Probiers also einfach mal aus.
            Falls ich an dir vorbeigeredet habe, konkretisier einfach was genau du erreichen willst.

            dbenzhuser

            1. das weiß ich. mir geht es hier darum noch einiges über sessions und deren handling zu erfahren. meine session variablen sind natürlich registriert. aber nicht mit session_register sondern mit $_Session

              um auf den unterseiten auf die variablen zuzugreifen muss ich dies verwenden
              $HTTP_SESSION_VARS[variable]

              ich suche aber eine möglichkeit, die ursprungsvariable in jeder seite zu nutzen ohne ständiges neu erstellen.

              danke

  2. Moin!

    aber jetzt , also nach der zweiten seite sind die daten weg. also sie werden auf der seite noch angezeigt, habe das mal mit echo überprüft, aber sie landen nicht mehr im link, auch wenn ich mir einen link von dieser seite aus bastle funktioniert es nicht.

    Es wurde ein Cookie gesetzt, welches die SessionID enthält. Ein Cookie ist besser, als die URL-Variante, weil es nicht unbeabsichtigt in fremden Logfiles etc. auftaucht (Referrer, Copy&Paste des Links in Mails rein etc.)

    - Sven Rautenberg

    --
    "Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
    (fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)