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