PHP - cookie değişkenleri ve oturum değişkenleri komiklik

0 Cevap php

Sorumu göstermek için aşağıda küçük bir PHP komut dosyası yazdı. Eğer ekrana echo'ed numarası her zaman olduğunu göreceksiniz http://localhost/test.php?test=10, sonra da http://localhost/test.php?test=11, sonra da http://localhost/test.php?test=12, vb çalıştırın: Bu gibi aşağıdaki kodu çalıştırın url sayı geride 1 basamak?! Ben bir çerez edemem ve belki çünkü hemen aynı çerez okuma?


//If query string has $test, store in session, and cookie for later. 
if($_GET[test]){
  $_SESSION['test'] = $_GET[test];
  setcookie("test", $_GET[test], time()+60*60*24*30*12*10); //10 years
}

//If user comes back later, then get $test from cookie
if (isset($_COOKIE["test"])){
  $_SESSION['test'] = $_COOKIE["test"];
}

echo "session test: " . $_SESSION['test'];

Daha sonra, ben bu oldu NEDEN bilmek istiyorum, aşağıdaki kodu sorunu çözüldü, ama çözme yeterince iyi değil!

Bu münhal:


if($_GET[cid]){
  setcookie("campaignid", $_GET[cid], time()+60*60*24*30*12*10); //10 years
  $_SESSION['campaignid'] = $_GET[cid];
}elseif (isset($_COOKIE["campaignid"])){
  $_SESSION['campaignid'] = $_COOKIE["campaignid"];
}

0 Cevap