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"];
}