PHP ile bir Çerezler (Başlangıç ​​Soru) Incrmenting

1 Cevap php

I have used sessions before but never cookies. I would like to use cookies for two reasons:
1) it's something new to learn
2) I would like to have the cookie expire in an hour or so (i know in the code example it expires in 40 sec)

Ben temel yazmaya çalışıyorum deyimi eğer

      if($counter=="1") { //do this second 
} 
        elseif ($counter >="2") { //do this every time after the first and second
} 
        else {// this is the first action as counter is zero
}

Burada çerez ayarlamak için kullanıyorum kodu:

 // if cookie doesnt exsist, set the default
    if(!isset($_COOKIE["counter_cookie"])) {
        $counter = setcookie("counter_cookie", 0 ,time()+40);

    }

    // increment it
     $counter++;



    // save it
     setcookie("counter_cookie", $counter,time()+40);
     $counter = $_COOKIE["counter_cookie"];

Sorun, sayaç 0-1 ayarlanacaktır, ancak 1 'den 2'ye kadar üzerinde ve ayarlanamaz olmasıdır. |: Herhangi bir yardım bu gerçekten basit aptal bir soru olduğunu biliyorum harika olurdu

Teşekkürler!

1 Cevap

Sorun büyük olasılıkla bu hat ile ilgili olduğunu:

$counter = setcookie("counter_cookie", 0 ,time()+40);

Bu bir değer döndürmek için setcookie beklediklerini, ama bunun gerçekleşmesi için gitmiyor görünür. Bunun yerine, setcookie sadece başarı ve başarısızlık üzerinde sahte üzerinde true bir boolean dönecektir.

http://php.net/manual/en/function.setcookie.php

Sen istenen etkiyi elde etmek için bu gibi yeniden deneyebilirsiniz:

if(isset($_COOKIE["counter_cookie"]))
{
  $counter = $_COOKIE["counter_cookie"];
}
else
{
  $counter = 0;
}
$counter++
setcookie("counter_cookie", $counter ,time()+40);