Frames und Sessions

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

  • Frames und Sessions

    Hallo zusammen,

    ich habe ein Problem mit PHP.
    Ich habe ein Frameset mit einem linken Frame (Menü) und einem rechten (Inhalt).
    Der rechte Frame verweist auf ein PHP-Skript das auf einem anderen Server liegt.
    Leider funktionieren nun im rechten Frame nur dann Sessions, wenn man im Internet Explorer die Option für Cookies ändert (Cookies erlauben).
    Ich habe beim googeln gelesen, dass sowas auftritt, wenn man session_start() nicht an allererster Stelle im Quelltext stehen hat.
    Aber wie kann ich das nun lösen, da mein Frameset und mein PHP-Skript ja auf zwei verschiedenen Servern liegen...
    Kann mir jemand helfen?
    (Bitte kein "Frames sind doch eh doof", es muss leider auf diese Art gelöst werden )

  • #2
    Leider funktionieren nun im rechten Frame nur dann Sessions, wenn man im Internet Explorer die Option für Cookies ändert (Cookies erlauben).
    Übergibst du in deinem Frameset denn die Session ID an das rechte Frame ? Ich denke nicht, sonst würde es nicht funzen nur weil du Cookies aktivierst.
    Willst du wirklich dass der Besitzer des anderen Servers deine Session ID erhält ?
    Ausserdem wieso sollte das Script auf Server 2 deine Session überhaupt kennen ? Wurde ja von deinem Server erstellt und mit Werten belegt.

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Also eigentlich wollte ich nicht die SessionID auf Server 1 erstellen und dann an Server 2 übergeben, sondern ich wollte Server 1 veranlassen, die ID direkt auf Server 2 zu erstellen.
      Denn auf Server 1 liegen wirklich nur HTML Dateien. Sämtliche Eingaben etc. geschehen nur in dem Skript auf Server 2, also die beiden Server sollen garnicht die selben Daten verarbeiten können oder so, sondern es soll lediglich eine Session auf Server 2 erstellt werden obwohl eine HTML Datei auf Server 1 aufgerufen wird.

      Hoffe mal das ist verständlich

      Kommentar


      • #4
        ...sondern ich wollte Server 1 veranlassen, die ID direkt auf Server 2 zu erstellen.
        imho kannst du das vergessen

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Au backe
          Dann hoffe ich mal, dass meine Idee der möglichen Fehlerquelle falsch war und beschreibe mein Problem mal etwas genauer:
          Ich habe eine identische Kopie des Framesets incl. aller Dateien die dazu gehören (Menü usw.) auf zwei Servern. Einmal auf dem Server auf dem auch die PHP-Skripts laufen und einmal auf einem anderen.
          Wenn man nun das Frameset auf dem Server mit PHP-Skripten startet, funktioniert alles. Wenn man allerdings Die Seite auf dem anderen Server aufruft, wird die Session nur dann gestartet, wenn man Cookies erlaubt.

          Meine Idee war folgende:
          Ich wollte mal ausprobieren, die Funktion session_start() an die allererste Stelle zu schreiben, damit kein HTML davor steht (ich hab irgendwo gelesen, dass das Probleme machen kann).
          Doch wenn ich nun auf dem entfernen Server in das Frameset session_start reinschreibe bringt mir das ja nix, weil ich die Session auf dem anderen Server benötige.

          Kann das noch an etwas anderem liegen? Oder war meine Vermutung richtig?

          Kommentar


          • #6
            Soo ich habs jetzt gelöst
            Die Frames waren anscheinend ausnahmsweise unschuldig, das Problem muss einfach daran gelegen haben, dass die Dateien auf 2 unterschiedlichen Servern lagen. Und wenn ich die header() Funktion aufgerufen habe, dann wurde immer eine neue session angelegt.
            Ich hab jetzt die SessionID als Parameter in der URL mit übergeben und jetzt funzt es.

            Kommentar

            Lädt...
            X