PHP,根据页面条件触发 cookie

PHP, Fire cookies on condition of pages

我在根据用户首先访问的页面触发 cookie 时遇到了一些问题。

如果第 2641、2998、2949 页上不存在 cookie,下面的代码将触发 cookie。但是,如果用户在网站上的任何其他页面上,如果不存在 cokkies,我该如何触发不同的 cookie?

规则:不能存在两个cookie。只是一个或另一个。

非常感谢任何帮助:)

if (is_page([2641,2998,2949]) && !isset($_COOKIE['ppc_campaign']) && !isset($_COOKIE['organic'])) {

    $ppc_cookie = "ppc_campaign";

    $ppc_value = (!empty($_SERVER['HTTPS']))
    ? "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] 
    : "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];

    $path = "/";

    setcookie($ppc_cookie, strstr($ppc_value, '?'), time() + (86400 * 28), $path);

    $acf_applicationLink = $ppc_value;
    }   

else {

}

听起来这就是你想要的。检查 cookie 是否存在。如果两者都不存在,请检查特定页面,否则执行其他操作。

if (!(isset($_COOKIE['ppc_campaign']) || isset($_COOKIE['organic']))) {
    if (is_page([2641,2998,2949])) {

        $ppc_cookie = "ppc_campaign";

        $ppc_value = (!empty($_SERVER['HTTPS']))
        ? "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] 
        : "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];

        $path = "/";

        setcookie($ppc_cookie, strstr($ppc_value, '?'), time() + (86400 * 28), $path);

        $acf_applicationLink = $ppc_value;
    }   

    else {
        $organic_cookie = "organic";

        $organic_value = "?campaign=_ORGANIC_";

        $path = "/";

        setcookie($organic_cookie, $organic_value, time() + (86400 * 28), $path);

        $acf_applicationLink = $organic_value;
    }
}