Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP Cookie expires 0 funktioniert nicht auf mobilen Geräten

Einklappen

Neue Werbung 2019

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

  • PHP Cookie expires 0 funktioniert nicht auf mobilen Geräten

    Hallo,

    Ich erstelle auf simple weise ein Cookie:
    PHP-Code:
    if (
    !isset(
    $_COOKIE['accessed']) ) { 
                            
    setcookie('accessed''yes'0); 

    beim aufrufen einer Seite und steuere damit, ob ein bestimmtes div angezeigt wird oder nicht. (Es soll nur beim 1. Besuch der Seite angezeigt werden).

    Bei mir funktioniert es super bei: IE, Firefox, Microsoft Edge, Chrome

    Am Smartphone (galaxy s7) funktioniert es auch mit dem standard "Internet" - Browser, doch beim Chrome nicht. der Cookie wird, wieso auch immer, nicht gelöscht.
    Ein paar Freunde mit div. Iphones haben das selbe Problem, das div wird 1x angezeigt, wenn sie alles schließen und den Browser wieder öffnen, dann funktioniert es nicht mehr (Cookie noch irgendwo vorhanden)

    nun würde mich interessieren: kennt dieses Problem jemand und kann mir direkt weiter helfen, oder weiß jemand wie ich das selbst ohne IPHONE testen kann? Bei den div. Emulatoren kann ich mir nicht die gespeicherten Cookies ansehen (auch bei meinem Chrome am Smartphone nicht).


    Ich hoffe mir kann jemand weiter helfen

    lg



  • #2
    Sieh auch Stack...

    Kommentar


    • #3
      und die Funktion ist standardmäßig bei allen iphones aktiviert? verwenden alle iphones chrome?.... wenn das die Lösung wäre, hätte ich nicht hier gefragt.

      Kommentar


      • #4
        Versuch's mal so
        PHP-Code:
        setcookie'accessed''yes', array ( 'lifetime' => ) ); 
        oder gib expire 3600, und jedes Mal, wenn die Zeit noch nich abgelaufen ist (also, cookie lebt noch und wird an Server gesendet) erneu expire wieder. Wenn das auch nicht richtig functioniert, gib parallel noch ein cookie mit timestamp, und rechne von dem ab.

        Na ja, die Variante mit array ( 'lifetime' => 0 ) wird kaum helfen, es liegt doch am Browser..... Man kann noch versuchen die Folge von alle an User absendende Headers ändern..... Schau mal rein, ob es nur ein einzigen Cookie mit name 'accessed' im HTTP-Header gibt.....
        Signaturrrrrrr

        Kommentar


        • #5
          [MOD: verschoben von PHP-Fortgeschritten]
          Competence-Center -> Enjoy the Informatrix
          PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

          Kommentar


          • #6
            Zitat von K313 Beitrag anzeigen
            Versuch's mal so
            PHP-Code:
            setcookie'accessed''yes', array ( 'lifetime' => ) ); 
            oder gib expire 3600, und jedes Mal, wenn die Zeit noch nich abgelaufen ist (also, cookie lebt noch und wird an Server gesendet) erneu expire wieder. Wenn das auch nicht richtig functioniert, gib parallel noch ein cookie mit timestamp, und rechne von dem ab.

            Na ja, die Variante mit array ( 'lifetime' => 0 ) wird kaum helfen, es liegt doch am Browser..... Man kann noch versuchen die Folge von alle an User absendende Headers ändern..... Schau mal rein, ob es nur ein einzigen Cookie mit name 'accessed' im HTTP-Header gibt.....


            Danke für deine Bemühungen!!

            Ich habe den Cookie auf jeden Fall umbenannt, danke für den Hinweis!
            Also das erste mit array ( 'lifetime' => 0 ) hat nicht funktioniert/keine Änderungen gebracht. Die zweite Lösung mit time()+3600 war bis jetzt immer, doch genau das sollte nun eigentlich weg.
            Chrome auf meinem Smartphone verwirft den Cookie (trotz expire 0) nach ungefähr 2 Minuten - Iphone habe ich keines, darum kann ich das nicht testen. Wir werden damit leben müssen, das div. Smartphones den Cookie noch etwas länger leben lassen...

            Danke vorerst für alles! Sollte ich noch eine bessere Lösung finden, werde ich es hier veröffentlichen.

            Kommentar


            • #7
              Du solst uns mehr Information geben: Response-Headers, HTML-HEAD, welche Frameworke werden dabei benutzt, ...
              Ich glaube nicht, dass das Problem an Device liegt, google darüber gibt nichts ähnliches aus...
              Signaturrrrrrr

              Kommentar

              Lädt...
              X