session daten gehen gelegentlich verloren zugriff über frame

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    bin mit meiner analyse weiter gekommen..

    immer wenn ich die cookies auf dem browser gelöscht habe, verliere ich die Daten beim Wechseln zur nächsten Seite. Weiss jemand wie ich das Problem in den Griff bekomme. Hier nochmals der Code:

    session_name('PHPSESSID');

    session_start();

    if(!isset($_COOKIE['session_name()'])) {
    setcookie(session_name(), session_id(), time()+1600);
    }

    Kommentar


    • #17
      Hast du vll. Cookies deaktiviert?

      Gruß
      icecream
      icedcream.de Webdesign Regensburg

      Kommentar


      • #18
        Re: bin mit meiner analyse weiter gekommen..

        Original geschrieben von sanktusm
        immer wenn ich die cookies auf dem browser gelöscht habe, verliere ich die Daten beim Wechseln zur nächsten Seite.
        Und was wundert dich daran?
        Weiss jemand wie ich das Problem in den Griff bekomme.
        Vielleicht die Cookies mal nicht löschen ...?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #19
          kann mir jemand zeigen wie man cookies in sessions standartmäßig einesetzt

          ich komme leider allein nicht weiter. es gibt immer noch das problem das daten verloren gehen.

          Kommentar


          • #20
            Wie wäre es, wenn du das befolgst oder beantwortest, was in den letzten 2 Beiträgen steht?

            Gruß
            icecream
            icedcream.de Webdesign Regensburg

            Kommentar


            • #21
              Zustand: es existiert noch keine Session, demzufolge wird beim Request auch keine SID übermittelt

              session_start();
              -> kein SID übermittelt, es wird eine erzeugt, in ein Cookie geschrieben und an den Client geschickt

              $_SESSION['foo'] = 'bar';
              -> foo=bar wird in der Session registriert - default in die Datei <session_save_path>/sess_<SID> auf dem Server geschrieben
              -> Cookie oder SID werden nicht verändert!

              Zustand beim nächsten Request: Browser schickt den Cookie mit, Cookie enthält die SID

              session_start();
              -> SID aus dem Cookie wird erkannt und übernommen
              -> der Inhalt der Datei <session_save_path>/sess_<SID> wird in $_SESSION geschrieben

              Sessiondaten kann man also nur auf dem Server verlieren ... indem das Session File verloren geht.
              Bei dir ist es wohl eher so, dass das Sessionfile zwar noch da ist, aber da dein Browser (oder du) das Cookie gelöscht hat, wird keine SID mehr übertragen, PHP lädt die Sessiondaten nicht, sondern generiert eine neue, leere Session.

              Ja wo ist das Cookie denn geblieben, warum hat der Browser es gelöscht? Ein Blick ins Manual hätte dich erleuchtet: Sessions verwenden eine besondere Art von Cookies, die der Browser als solche erkennt und beim Schließen löscht. Wenn du das vermeiden willst, mußt du den Cookie manuell setzen. Wie das geht, steht ebenfalls im Manual.

              Kommentar


              • #22
                verzweiflung komplexes problem mit session

                ich erklär mal mein Problem

                Ich starte eine SESSION um Formulardaten zu speichern, die später in einer Datenbank gespeichert werden sollen. Auf meine eigenen Server (xxamp) klappt das wunderbar. Nur auf dem Onlineserver gehen mir die Daten verloren.

                Um das Problem genauer zu beschreiben. 1. Schritt: Ich lösche alle Cookies, die der Browser gespeichert hat. 2. Schritt: Dann beginne ich die SESSION (das für die SESSION entsprechende Cookie sollte jetzt gespeichert werden) 3. Schritt: Dann gehe ich zur nächsten Seite und die Daten gehen verloren.

                Und das obwohl ich a) immer die SESSIOn auf jeder Seite mit session_start(); initialisiert haben und b) ich die SESSIONID mit der url weitergeben (und zwar so:

                <form action="eintrag_kategorienverz_kostenlos.php?folge=2&<?php echo "".session_name()."=".session_id().""; ?>" method="post">

                oder so:

                <a href="adressdaten_kostenlos.php?<?php echo "".session_name()."=".session_id().""; ?>"><img src="../pics/zurueck.jpg" border="0"></a>

                Mache ich da was falsch?
                Wenn auf die startseite über einen header weitergeleitet wird, bleiben die Daten erhalten.

                if($_SESSION['email'] != $_POST['login'])
                {
                header("Location: adressdaten_kostenlos.php?sign=erremaillogin&".session_name()."=".session_id()."");
                exit;
                }

                Kommentar


                • #23
                  soweit ich weiss muss man die session-ID von hand einsetzen nur wenn php
                  ohne die option --enable-trans-sid kompiliert wurde. Hast du bei dir das erstmal überprüft?
                  PHP-Code:
                  echo ini_get("session.use_trans_sid"); 
                  Denn sonst kannst du dir sparen deine session bei jeden aufruf mit zu übergeben.
                  Sollte die option --enable-trans-sid kompliliert sein wird die session sogar ohne cookie
                  übermittelt. php erkennt die cookie-lose situation und behilft sich selbst in den alle links
                  automatisch mit der session-ID ergänzt werden ausser du hast die session.use_trans_sid
                  selbst deaktiviert: ini_set("session.use_trans_sid",0);
                  In Flames - Pinbal Map
                  Becoming the Archetype - No Fall Too Far
                  Pantera

                  Kommentar


                  • #24
                    wie bzw. wo muss ich diesen code einfügen?

                    vielen Dank für Deinen Tipp. Leider weiss ich nicht wie ich diesen Code einsetzen muss. Etwa in der url oder im startbereich der Datei?

                    Kommentar


                    • #25
                      wie bzw. wo muss ich diesen code einfügen?

                      vielen Dank für Deinen Tipp. Leider weiss ich nicht wie ich diesen Code einsetzen muss. Etwa in der url oder im startbereich der Datei?

                      Kommentar


                      • #26
                        na hast du erstmal überprüft bevor du URL manipulierst? --enable-trans-sid? TRUE oder FALSE?
                        In Flames - Pinbal Map
                        Becoming the Archetype - No Fall Too Far
                        Pantera

                        Kommentar


                        • #27
                          wie überprüfe ich das

                          bin ein newbie leider

                          Kommentar


                          • #28
                            Re: wie überprüfe ich das

                            So, da du jetzt schon wieder ein Jobangebot zum Thema erstellt hast, schließe ich den Thread hier.

                            Und das Jobangebot auch, das Problem kannst du jetzt mit deinem "Auftragnehmer" privat weiter diskutieren.

                            Und solltest du hier noch einen neuen Thread zum Thema aufmachen, dann fliegst du!
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar

                            Lädt...
                            X