0

我确实有一个 CI 项目,如果 cookie 已经存在,我会检查它的 home 功能。如果是这样,则应重定向用户。例如,这在我的 linux 机器 (Chrome) 上运行良好,但在我的 Mac (Chrome) 上却不行——我不知道为什么。

这是代码:

$session = $this->session->all_userdata();

        if(array_key_exists('id', $session)) {
            redirect(site_url("loggedin"), "refresh");
        } else {
            /* set cookie */

谢谢

4

1 回答 1

0

首先,我不确定是否array_key_exists()更好或是否更好isset($_SESSION['id']),但无论哪种方式 CI 都内置了这个函数,如果没有设置值session->userdata(),它将返回:FALSE

if($this->session->userdata('session_id'))
    redirect('loggedin',"refresh");

//rest of code

另请注意,您不需要site_url()redirect()函数中。CI 默认会这样做。不过,我不确定这是否与您的问题有关。这可能是浏览器错误。redirect('loggedin');(将使用位置重定向)有效吗?

于 2013-01-09T19:59:20.143 回答