bleicher: cookiewert ändern

Grüße,

mir fiel gerade auf - wenn ich setcookie() mit immer gleichen namen verwende

in einem loop:

  
time()-$last<300 ? 1 : setcookie ("lb" , $wert, $dauer);  

, erzeugt es mir immer mehr gleichgenannte cookies mit unterschiedlichen werten.

wie ändert man den wert eines bereits gesetzten cookie?
ist es möglich oder muss man den umweg über löschen /setzen nehmen?

MFG
bleicher

  1. Grüße,

    mir fiel gerade auf - wenn ich setcookie() mit immer gleichen namen verwende
    ...
    wie ändert man den wert eines bereits gesetzten cookie?
    ist es möglich oder muss man den umweg über löschen /setzen nehmen?

    Hallo bleicher,

    tatsächlich weiss ich keinen anderen Weg als zu Beginn 1. die Existens per $_COOKIE zu überprüfen, 2. Wert per $_COOKIE auszulesen und ggf. 3. neues Cookie per setcookie() mit neuem Wert zu setzen.

    Gruß vom foomaker

    --
    Natürlich glaube ich an die Existenz von Ausserirdischen. Schliesslich gibt es ja auch das PERFEKTE SCRIPT.
    1. Grüße,

      tatsächlich weiss ich keinen anderen Weg als zu Beginn 1. die Existens per $_COOKIE zu überprüfen, 2. Wert per $_COOKIE auszulesen und ggf. 3. neues Cookie per setcookie() mit neuem Wert zu setzen.

      übel - die anallösung mit generiertem JS wäre echt nicht der hit ;/ na gut - dann muss owhl die cookiesetzfrequenz reduziert werden..

      MFG
      bleicher

  2. Hi,

    mir fiel gerade auf - wenn ich setcookie() mit immer gleichen namen verwende

    in einem loop:

    time()-$last<300 ? 1 : setcookie ("lb" , $wert, $dauer);

    
    >   
    > , erzeugt es mir immer mehr gleichgenannte cookies mit unterschiedlichen werten.  
      
    Wer ist "er"?  
      
    PHP? Ja, das scheint bei setcookie keinen Parameter zu haben, bei mehreren Aufrufen mit dem gleichen Namen nur den letzten letztendlich an den Client zu senden.  
    Vielleicht koennte man daran was machen, wenn man statt setcookie header() verwendet, sich da den passenden Header fuer's Setzen eines Cookies selbst zusammenbaut, und dann den replace-Parameter nutzt (bin mir aber gerade nicht sicher, worauf genau der wirkt).  
    Oder vielleicht, in dem man einfach output buffering verwendet? Vielleicht kriegt's PHP dann auf die Reihe, nur noch den letzten von mehreren per setcookie mit gleichem Namen gesetzten Cookies zu senden.  
      
    Oder der Client? Bei dem sollten alle "verhergehenden" Cookies wirklich durch den letzten gleichen Namens innerhalb eines Requests ueberschrieben werden.  
      
    
    > dann muss owhl die cookiesetzfrequenz reduziert werden.  
      
    Wofuer ist denn die ueberhaupt so hoch, bzw. was bezweckst du mit mehreren gleichnamigen Cookies innerhalb einer Scriptinstanz ...?  
      
    MfG ChrisB  
      
    
    -- 
    „This is the author's opinion, not necessarily that of Starbucks.“