Sessoin und absoluter Pfad

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Sessoin und absoluter Pfad

    Hallo noch mal,

    na eigentlich gehört es ja nicht ganz hier rein, aber vielleichts gibts dazu ja doch einen PHP-Trick.

    Wenn ich eine Session-Starte und keine Cookies annehme, bekomme ich automatisch die Session Id an den Link angehängt. Momentan funktioniert das aber nur bei relativen Links. Sobald ich einen absoluten angebe, ist meine ID wech!

    Kann man das irgendwie umgehen?

    Dank & Grüße,
    Andi

  • #2
    Kann man das irgendwie umgehen?
    wenn es bei relativen angaben funktioniert kannst du die doch auch nehmen. oder?

    übrigens ist

    /path/to/file.php

    auch relativ...

    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      liegt daran dass php annimmt du verweist irgenwohin und damit die id ned an fremde rechner übergeben wird, wird bei absoluten url's nix mit angehängt ..

      probier mal sowas in der art =)

      PHP-Code:
      echo '<a href=""http://absolute.url/skript.php' . !isset($_COOKIE['PHPSESSID']? '?PHPSESSID=' session_id(): ''
      mfg,
      [color=#0080c0]Coragon[/color]

      Kommentar


      • #4
        Das Problem ist, dass für den Versand von Formularen eine sichere Verbindung via HTTPS hergestellt wird. Somit entsteht jedesmal beim Wechseln von Sicher zu Unsicher und umgekehrt ein absoluter Pfad und meine Session ID verschwindet.

        Dann muß ich dort dann wohl die Session ID manuell übergeben. Oder die, die eben keine Cookies annehmen haben halt gelitten!

        Vielen Dank,
        Andi

        Kommentar


        • #5
          beim wechsel von http zu https ist das so, als ob du einen anderen rechner anwählst. damit sind deine session.daten eh weg.

          und noch was. die die keine cookies nehmen solltest du nicht einfach so ausschliessen.
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            Original geschrieben von Abraxax
            und noch was. die die keine cookies nehmen solltest du nicht einfach so ausschliessen.
            Es ist ja auch nichts Wichtiges, es geht dabei um eine reine Satistik-Sache. Nach dem Versand eines Newsletters soll geprüft werden, wie viel Leute dadurch was in einem Online-Shop kaufen. Der Newsletter hat einen Link mit einer ID, Bei Bestellvorgang wir die dann ausgelesen. Ich möchte aber nicht bei jedem Klick alle Links umschreiben, dass die ID von Seite zu Seite übergeben wird. Darum wollte ich das mit einer Session machen.
            Also wenigsten mit Cookies scheint das ja zu funktionieren. Und darum sind die 1% User ohne Cookies für diesen Fall egal.

            Grüße & Dank,
            Andi

            Kommentar


            • #7
              Original geschrieben von andik2000
              Es ist ja auch nichts Wichtiges, es geht dabei um eine reine Satistik-Sache. Nach dem Versand eines Newsletters soll geprüft werden, wie viel Leute dadurch was in einem Online-Shop kaufen. Der Newsletter hat einen Link mit einer ID, Bei Bestellvorgang wir die dann ausgelesen. Ich möchte aber nicht bei jedem Klick alle Links umschreiben, dass die ID von Seite zu Seite übergeben wird. Darum wollte ich das mit einer Session machen.
              Also wenigsten mit Cookies scheint das ja zu funktionieren. Und darum sind die 1% User ohne Cookies für diesen Fall egal.

              Grüße & Dank,
              Andi
              musste dir mal das oscommerce script ziehen. Die arbeiten dort mit Session + ssl und ohne.

              die session werden dort in der mysql abgelegt wenn ich es jetzt richtig gesehen habe, der code vom os ist für mich allerdings noch etwas verwirrend.

              vielleicht hilft dir der Codeauszug etwas:

              // lets start our session
              if (isset($HTTP_POST_VARS[tep_session_name()])) {
              tep_session_id($HTTP_POST_VARS[tep_session_name()]);
              } elseif ( (getenv('HTTPS') == 'on') && isset($HTTP_GET_VARS[tep_session_name()]) ) {
              tep_session_id($HTTP_GET_VARS[tep_session_name()]);
              }

              if (function_exists('session_set_cookie_params')) {
              session_set_cookie_params(0, substr(DIR_WS_CATALOG, 0, -1));
              }
              mfg
              marc75

              <Platz für anderes>

              Kommentar


              • #8
                Original geschrieben von Coragon Rivito
                liegt daran dass php annimmt du verweist irgenwohin und damit die id ned an fremde rechner übergeben wird, wird bei absoluten url's nix mit angehängt ..

                probier mal sowas in der art =)

                PHP-Code:
                echo '<a href=""http://absolute.url/skript.php' . !isset($_COOKIE['PHPSESSID']? '?PHPSESSID=' session_id(): ''
                besser:

                PHP-Code:
                echo '<a href=""http://absolute.url/skript.php' . !isset($_COOKIE['PHPSESSID']? '?'.session_name().'=' session_id(): ''
                mfg

                Kommentar


                • #9
                  Danke Leute,

                  ich habe mittlerweile ein Lösung. Ist aber das gleiche Prinzip wie von Euch gepostet. Da ich ja die Links auch generieren lasse, setze ich bei den Absoluten halt die Session-ID mit dran, falls es kein Cookie mit gleicher Session-ID gibt.

                  Letzteres finde ich entscheidend wichtig, da der User ja bereits vor längerer Zeit mal auf der seite gewesen sein kann und danach irgendwann mal seine Cookies deaktiviert hat. Wenn ich also nun abfrage ob es lediglich das Cookie gibt, schalte ich meine "Anhängsel" ab, was aber noch nicht bedeutet, dass es auch die aktuelle Session-ID enthällt. Somit wären alle meine vorher gesammelten Daten verloren.

                  So long Freunde...

                  Grüße, Andi

                  Kommentar

                  Lädt...
                  X