Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] cookie läßt sich nicht löschen???!

Einklappen

Neue Werbung 2019

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

  • [Erledigt] cookie läßt sich nicht löschen???!

    Hi, sorry, aber ich komm nicht drauf. Hab folgenden code:

    PHP-Code:

    if(isset($_COOKIE['xyz'])) {
      
    $value $_COOKIE['xyz'];
      
    $value2 $_COOKIE['abc'];
      
      
    $cookiename "xyz";
      
    $cookievalue "";
      
    setcookie($cookiename$cookievaluetime()-3600);
      
    $cookiename "abc";
      
    $cookievalue "";
      
    setcookie($cookiename$cookievaluetime()-3600);
    ....... 
    Leider lassen sich die 2 betreffenden cookies damit nicht löschen. Code wird auch vorm header ausgeführt. Hilft anscheinend auch nix, wenn ich den cookie mit value löschen will.

    Wäre dankbar für Hilfe
    I like cooking my family and my pets.
    Use commas. Don't be a psycho.
    Blog - CoverflowJS


  • #2
    Erstmal Willkommen im Forum.

    Den Code solltest du schon posten

    Kommentar


    • #3
      (da hat er recht) nuja, war gedanklich schon wieder weiter :P
      I like cooking my family and my pets.
      Use commas. Don't be a psycho.
      Blog - CoverflowJS

      Kommentar


      • #4
        Hast du schonmal unset() versucht?

        Kommentar


        • #5
          Damit lösch ich doch nur eine Variable in meinem Script, aber doch nicht den cookie bei mir aufm Rechner oder seh ich das falsch??
          I like cooking my family and my pets.
          Use commas. Don't be a psycho.
          Blog - CoverflowJS

          Kommentar


          • #6
            Mach time()-1, dann ist das Cookie veraltet und sollte gelöscht werden. Ich dachte gerade du willst nur den Inhalt löschen.

            Kommentar


            • #7
              Ne, die Values nehm ich, um den Admin auf offline zu setzen. Danach sollte er eigentlich auch sofort den cookie löschen.
              Hmm, macht leider keinen Unterschied, ob da -1 oder -3600 dasteht. trotzdem danke für die Hilfe
              I like cooking my family and my pets.
              Use commas. Don't be a psycho.
              Blog - CoverflowJS

              Kommentar


              • #8
                Stimmt da steht ja schon -3600. Sorry, hab da + gelesen

                Lass die Cookies einfach auslaufen. Eventuell mach doch time()+1. Dann sollte es ja sofort ablaufen.

                Kommentar


                • #9
                  Geht auch nicht, muß irgendwie am code liegen. Hab keine Session gestartet als ich den cookie gesetzt hab. Kann das sein, daß der cookie dann im memory des Browsers statt local aufm pc ist?

                  Ne, hilft auch nix...
                  I like cooking my family and my pets.
                  Use commas. Don't be a psycho.
                  Blog - CoverflowJS

                  Kommentar


                  • #10
                    wann prüfst Du denn wie, ob der cookie noch vorhanden ist?

                    Kommentar


                    • #11
                      Hab mir ne kleine Testdatei geschrieben, die ich nach dem logout aufruf.

                      PHP-Code:
                      <?php

                      echo "1: ".$_COOKIE['xyz']."<br/>";
                      echo 
                      "2: ".$_COOKIE['abc'];
                        
                      ?>
                      zeigt mir leider immer die werte an. Auch ins admin panel komm ich, sofern ich den admin nicht auf offline setz
                      I like cooking my family and my pets.
                      Use commas. Don't be a psycho.
                      Blog - CoverflowJS

                      Kommentar


                      • #12
                        also eigentlich wird der cookie so gelöscht:
                        setcookie('abc','',time()-1);
                        wenn Du jetzt direkt danach ein
                        print_r($_COOKIE);
                        wird er wieder ausgegeben...
                        Das liegt daran, dass Du das den cookie im client erst löschst nachdem der Server seinen output an den client gesendet hat...
                        das bedeutet ein zwischenschritt ist notwendig Du kannst auch so vorgehen:
                        setcookie('abc','',time()-1);
                        unset(
                        $_COOKIE);

                        Kommentar


                        • #13
                          Naja, was anderes hab ich eigentlich auch nicht gemacht
                          Zum cookie ausgeben hab ich ne eigene datei verwendet, daran lags nicht.
                          So blöd wies klingt, ich denk, das lag am cash, hab den exakt gleichen code wieder eingegeben, diesmal mit cookie value wert gelöscht und weg war er.

                          Allerdings versteh ich den Fehler immer noch nicht, da ich den cookie so wie du auch ohne value löschen wollte..trotzdem danke für die schnelle Hilfe !!


                          edit:
                          _____________________
                          Falls jemand mal den gleichen Fehler hat: Mozilla Firefox (bei mir Version 2.0.0.14) weigert sich gerne, mehrere cookie_Befehle hintereinander auszuführen. Ein setcookie ist anscheinend erlaubt, wenn 2 hintereinander folgen, führt er keinen! von beiden mehr aus.
                          I like cooking my family and my pets.
                          Use commas. Don't be a psycho.
                          Blog - CoverflowJS

                          Kommentar


                          • #14
                            Zitat von SJahr Beitrag anzeigen
                            Mach time()-1, dann ist das Cookie veraltet und sollte gelöscht werden. Ich dachte gerade du willst nur den Inhalt löschen.
                            Zitat von SJahr Beitrag anzeigen
                            Lass die Cookies einfach auslaufen. Eventuell mach doch time()+1. Dann sollte es ja sofort ablaufen.
                            Bitte nur Posten, wenn man weiß wovon man redet. Raten verlängert den Thread nur unnütz...
                            --

                            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                            --

                            Kommentar


                            • #15
                              Um es klar zu stellen:

                              letztendlich hat man auf ein einmal gesetztes Cookie keinen Einfluss mehr. Man kann sich nur darauf verlassen, dass der Browser das Cookie schon löscht, wenn man es als abgelaufen markiert. Da der Brwoser aber von der Zeit auf dem Client-Rechner ausgeht, sollte man nicht unbedingt time() nehmen, sondern time()-60*60 oder so, um auf Nummer sicher zu gehen.
                              Ebenso besteht keine Möglichkeit, zu prüfen, ob der Client Cookies zulässt. Das Cookie wird gesendet und erst beim nächsten Request kann man sehen, ob das Cookie angenommen wurde. Genauso verhält es sich auch mit dem Löschen.
                              Refining Linux: “Performing Push Backups – Part 1: rdiff-backup

                              Kommentar

                              Lädt...
                              X