如果没有找到$ _GET,如何为引荐设置默认cookie?

时间:2012-02-20 22:53:38

标签: php cookies

我想制作一个简单的推荐系统。基本上是引用URL结构,就像这样。

http://domain.com/?ref=abc
http://domain.com/about-us/?ref=abc
http://domain.com/slug/more-slug/?ref=abc
  1. 如何验证是否找不到Cookie,脚本会将默认Cookie设置为$_COOKIE['referral'] = 'generic'
  2. 如果cookie已经存在,请保留它。
  3. 我已经完成了这项工作,但如果之前没有找到引荐,它总是会替换为generic

    if (!isset($_COOKIE['referral'])) {
        setcookie('referral', 'generic', time() + 31536000);
    } else if (isset($_GET['ref']) && !empty($_GET['ref'])) {
        $ref = trim(secure($_GET['ref']));
        setcookie('referral', $ref, time() + 31536000);
    }
    

1 个答案:

答案 0 :(得分:0)

if(!isset($_COOKIE['referral'])){
    if(isset($_GET['ref']) && !empty($_GET['ref'])) {
        $ref = trim(secure($_GET['ref']));
        setcookie('referral', $ref, time() + 31536000);
    }else{
        setcookie('referral', 'generic', time() + 31536000);
    }
}

你可以删除 isset($ _ GET ['ref'])因为你检查!empty($ _ GET ['ref'])