CI 묻고 답하기

제목 로그인 시 쿠키가 생성되는 시간이 페이지로딩 보다 느린건가요?
카테고리 CI 2, 3
글쓴이 sunnywin 작성시각 2017/09/20 10:32:07
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 13877   RSS

안녕하세요. 이번에 처음 CI로 코딩을 하고 있습니다.

 

코딩을 보면서 설명드리겠습니다.

 

1. 회원이 아이디 / 패스워드를 입력하고 form 값으로 컨트롤러로 넘겨줍니다.

2. 컨트롤러에서는 db 검색 후 맞으면 cookie를 생성합니다.

set_cookie('USER_ID',base64_encode($arr_Sql_Result[0]["USER_ID"]),3600*12);

set_cookie('USER_NM',base64_encode($arr_Sql_Result[0]["USER_NM"]),3600*12);

set_cookie('USER_A_SEQNO',base64_encode($arr_Sql_Result[0]["USER_A_SEQNO"]),3600*12);

$this->load->view("view_main");

3. 쿠키 생성 후 view_main로 이동을 합니다. 이 때 Top메뉴를 require_once 해오는데 

여기서 

<?php

$Login_Check = get_cookie('USER_ID');

If ($Login_Check == "") {

redirect("/");

}

?>

요렇게 체크를 하게 됩니다.

 

문제는 처음 로그인 시에는 db에서 정보를 가져와서 쿠키를 설정하고 다음 페이지로 가지만 $Login_Check 의 값을 체크해보니

값이 없습니다. 그런데 쿠키값을 확인해 보면 이미 쿠키가 설정이 되어 있습니다.

난감하더군요. 로그인을 하는 순간에서는 쿠키값을 가져오지 못하고 튕긴 다음 로그인창으로 다시 온 후에 확인하면 쿠키가 있다는게요.

어떤 문제인지 검색을 하고 여러가지 방법을 시도해도 해결이 되지 않습니다.

 

혹시 이런 문제나 제 코딩에서 잘 못 된 부분을 아신다면 소중한 답변 좀 부탁드리겠습니다.

감사합니다.

 

PS. 혹시 몰라 남깁니다. config 파일의 

$config['cookie_prefix'] = '';

$config['cookie_domain'] = '';

$config['cookie_path'] = '/';

$config['cookie_secure'] = FALSE;

$config['cookie_httponly'] = FALSE;

이 부분은 기본으로 놔두고 사용합니다.

태그 cookie
 다음글 index.php 죽이기 에 대한 질문 (3)
 이전글 업로드 파일 및 js파일이 있는 경로는 상수로 정했을 ... (9)

댓글

변종원(웅파) / 2017/09/20 11:11:42 / 추천 0

쿠키는 생성한 페이지에서 바로 사용하지 못합니다. 다른 페이지에 갔다오거나 현재 페이지를 리로딩해야 쓸 수 있습니다.

설명에는 view_main으로 이동이라고 하셨지만 실제 프로그램 구동로직상에는 하나의 프로세스입니다. 그래서 쿠키가 없다고 나오는 겁니다.

ci에 세션이 있는데 굳이 쿠키를 사용하는 이유가 있을까요? 세션 쓰심이.. ^^

sunnywin / 2017/09/20 11:32:08 / 추천 0

아.. 그렇군요.. 같은 페이지에서는 사용이 안되는군요... ^^;;

답변 감사합니다. 검토해 보도록 해봐야겠네요. ^^

책 잘 읽고 있습니다. ^^