if语句不断回落到else部分

时间:2014-11-06 13:45:14

标签: php cookies

我想检查一个cookie是否存在,如果它与链接一起发送,如果没有查看标题,如果是FALSE则回到我在标题中创建cookie的页面。当我将此代码输入我的代码(在顶部)

if(empty($_COOKIE['location'])){
    if(isset($_GET['location'])){
        $_COOKIE['location'] = filter_input(INPUT_GET, 'loc', FILTER_SANITIZE_NUMBER_INT);
        setcookie('location', $_COOKIE['location'], time()+3600 * 8);
    }
    else {
        header('Location: location-select');
    }

无论我尝试什么,它都会一直回到其他部分header('Location: location-select');。如果我删除这段代码它工作正常但没有检查我的cookie。任何人都知道为什么会这样?

1 个答案:

答案 0 :(得分:0)

我认为这就是你要做的事。

检查$_COOKIE['location']是否为空并且未设置。 如果是这种情况,那么它会根据您提供的数据创建一个cookie。 如果/是/设置它导航到location-select

if(empty($_COOKIE['location'])){
    if( ! isset($_GET['location'])){
        $data = filter_input(INPUT_GET, 'loc', FILTER_SANITIZE_NUMBER_INT);
        setcookie('location', $data, time()+3600 * 8);
    }
    else {
        header('Location: location-select');
    }
}