본문 바로가기
CIBOARD 씨아이보드

Codeigniter에서 Flashdata가 지워지지 않음

by 씨엔아이소프트 2023. 7. 19.
반응형

odeigniter 2.1.4를 사용하고 있는데 flashdata에 몇 가지 문제가 있습니다. 레코드를 성공적으로 제출하면 flashdata 메시지를 표시할 수 있습니다. 그러나 flashdata 메시지가 표시된 페이지에서 다른 페이지로 이동한 다음 브라우저의 뒤로 버튼을 사용하여 이전 페이지로 돌아가면 flashdata 메시지가 다시 표시됩니다.

_System->libries->Session->session.php로 이동하여 flshdata 기능을 찾아 다음으로 바꿉니다.
public function flashdata($key = NULL)
{
    if (isset($key))
    {
        $return= (isset($_SESSION['__ci_vars'], $_SESSION['__ci_vars'][$key], $_SESSION[$key]) && ! is_int($_SESSION['__ci_vars'][$key]))
            ? $_SESSION[$key]
            : NULL;
            unset($_SESSION[$key]);
            return $return;
    }

    $flashdata = array();

    if ( ! empty($_SESSION['__ci_vars']))
    {
        foreach ($_SESSION['__ci_vars'] as $key => &$value)
        {
            is_int($value) OR $flashdata[$key] = $_SESSION[$key];
        }
    }
    
    unset($_SESSION[$key]);
    
    return $flashdata;
}
반응형

댓글