Kann Session nicht zerstören

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

  • Kann Session nicht zerstören

    Hi zusammen,

    ich habe da ein Problem bei meinem kleinen Shopsystem.
    Auf der Startseiet starte ich die Session so

    session_start();
    $sid=session_id();

    Die Variable $sid schleife ich überall durch und auch das session_start() rufe ich auf jeder folgeseite auf. Soweit richtig oder ??

    Nun will ich aber nach Abschluss der Bestellung das ganze natürlci wieder zerstören. Ich schleife das ganze über eine logout.php. Dort steht

    <?php
    session_start();

    session_destroy();



    header("Location:index.php");

    echo "Ausgeloggt";
    ?>

    Nun bin ich wieder auf meiner Startseite. Wenn ich jetzt aber wieder auf die Shopseite klicke, sehe ich das die Variable $sid immer noch da ist. Wie kann ich das lösen. Ich habs auch schon mit unset($sid) probiert. Auch fehlanzeige....

    Bitte um Tips!!!!!!!!!

  • #2
    Das ist ja klar, wenn du wieder auf die Startseite verlinkst erstellst du ja nach dem löschen der Session gleich wieder eine neue Session...
    mfg
    Günni


    Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
    Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
    Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
    City-Tiger - Online durch die Straßen tigern...

    Kommentar


    • #3
      dachte ich auch zuerst, aber sobald ich auf den warenkorb klicke sind da die Artikel vom Einkauf aus der vermeindlich alten Session noch drin. Es muss also immer noch die gleiche Session sein. Den der Inhalt des warenkorbes wird anhand der Session als Kriterium ausgelesen.

      Noch ne Idee ??

      Kommentar


      • #4
        Wenn ein Cookie gesetzt wird, so musst du dieses auch löschen...

        Es soll da Probleme mit dem beenden der Session geben...

        Kommentar


        • #5
          Also ein Cookie hab ich nicht gesetzt. Zumindest nicht mit Absicht

          Sonst noch ne Idee ??

          Kommentar


          • #6
            Das Cookie setzt auch nicht du sondern die Session Funktion!

            Nur zerstören tut sie es nicht!!

            Kommentar


            • #7
              ok, und wie mach ich dann das Cookie wieder weg ??

              Kommentar


              • #8
                Schaust du HIER

                Kommentar


                • #9
                  Also ich weiss nicht, bei deinem Link steht zwar was über cookies aber nix über das zertsörenvon cookies. Un dich hab auch meine Zweifel das ich mit session_start() ein cookie setze. Das macht man doch dann wohl mit set_cookie oder ???

                  Kommentar


                  • #10
                    Zu session_start:
                    session_start() creates a session or resumes the current one based on the current session id that's being passed via a request, such as GET, POST, or a cookie.
                    Zum Link und dem Zerstören von Cookies:
                    Alle Argumente - außer name - sind optional. Ist nur der Name angegeben wird das Cookie mit diesem Namen auf dem Client gelöscht.
                    Aber da steht nichts zum Zerstören von Cookies...

                    Kommentar


                    • #11
                      okokoo, dann hats wolh doch was damit zu tun

                      Aber sei mir nicht böse. Der Absatz

                      Zum Link und dem Zerstören von Cookies:

                      quote:
                      --------------------------------------------------------------------------------
                      Alle Argumente - außer name - sind optional. Ist nur der Name angegeben wird das Cookie mit diesem Namen auf dem Client gelöscht.
                      --------------------------------------------------------------------------------
                      sagt mir trotzdem nix. Wie kann ich dieses Cookie wieder löschen ????
                      Vielleicht steh ich ja nur auf der Leitung

                      Kommentar


                      • #12
                        setcookie("Cookiename");

                        Voreinstellung bei Sessions ist als Cookiename: PHPSESSID

                        Kommentar


                        • #13
                          ich hab bisher noch nicht viel mit sessions gearbeitet, falls ich mit dem folgenden teilweise daneben liege möge man mich korrigieren.

                          ich denke nicht, dass setcookie() irgendeinen einfluss auf session cookies hat. session cookie sind keine normalen cookies die auf der festplatte gespeichert werden, sondern die stehen nur zur laufzeit des browsers im arbeitsspeicher zur verfügung. deshalb gehen sessioncookies nach beenden des browsers auch verloren.

                          ich denke auch nicht, dass das session cookie hier das problem ist.
                          session cookies dienen nur zur weitergabe der aktuellen session id. alle daten in der session werden auf dem server gespeichert - nicht im cookie.
                          deshalb kann das die ursache für das problem nur darin liegen, dass die session mit session_destroy() nicht zerstört wurde, sonst wären die enthaltenen daten nicht mehr vorhanden.
                          das session cookie hat darauf keinen einfluss. ich denke nicht, dass man session cookies löschen kann, das ist aber auch nicht notwendig. wenn die im cookie gespeicherte session id auf dem server nicht mehr existiert, wird automatisch eine neue session gestartet.

                          in der doku auf php.net wird das aber sicherlich irgendwo genau stehen.

                          also gibt es wohl ein problem mit dem zerstören der aktiven session.

                          du könntest vor dem session_destroy() mal noch ein
                          unset($_SESSION);
                          setzen und sehen, ob das irgendeinen einfluss hat.
                          martin

                          Kommentar


                          • #14
                            Und was sagt mir der Inhalt eines Cookies von mir?

                            PHPSESSIDe75bcd070c801935b74cead394e1c211*******.de...

                            Kommentar


                            • #15
                              Hallo,

                              ich verzweifel nu echt langsam

                              Also meine logout.php schaut nu so aus

                              PHP-Code:
                              setcookie("PHPSESSID");

                              header("Location:index.php"); 
                              Jetzt wird zwar die Session zerstört aber ich bekomme folgende Fehlermeldung :

                              Warning: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0

                              Und wat nu ???

                              Kommentar

                              Lädt...
                              X