2012-11-16 2 views
3

만료 날짜를 변경하지 않고 쿠키 값을 업데이트 하시겠습니까?유효 기간을 변경하지 않고 쿠키 값을 업데이트 하시겠습니까?

$c = $_COOKIE["count"]; 
$c++; 
if (isset($_COOKIE["count"])) { 
    setcookie("count", $c); 
} 
else 
{ 
    setcookie("count", $c, time() + 86400, '/'); 
} 
+1

쿠키를 "업데이트하는"것과 같은 것이 없으므로 나머지 ttl을 수신 할 수도 없습니다. 당신이 할 수있는 일은 당신의 데이터를 세분화하고 값으로 저장 한 다음, 그것을 읽을 수 있고 그에 따라 새로운 ttl & 데이터를 설정할 수 있습니다. – Hannes

답변

2

만료 날짜를 업데이트하지 않고 쿠키 값을 업데이트 할 수있는 유일한 방법은 만료 날짜 자체를 값에 추가하는 것입니다. 그 이유는 브라우저가 쿠키의 이름과 값만을 전송하기 때문입니다.

if (isset($_COOKIE['count'])) { 
    list($exp, $val) = explode('|', $_COOKIE['count'], 2); 
    ++$val; 
} else { 
    $exp = time() + 86400; 
    $val = 1; 
} 
setcookie('count', "$exp|$val", $exp, '/'); 
+0

작동하지 않습니다 : ((( –

+0

@UZSTYLEGROUP 먼저 존재하는 쿠키를 삭제해야합니다. –

+0

Ok. 지금 시도하십시오 –

0

당신은 할 수 없습니다 - PHP는 쿠키가 만료 나 자바 스크립트를 투약 할 때 (당신이 쿠키의 내용에 만료 시간 을 복사하지 않는 한) 알고 doen't.

0

다른 쿠키에 만료일을 저장할 수 있습니다. 쿠키를 업데이트 할 때 쿠키 만료일을 읽고 업데이트에 사용하십시오.

관련 문제