CI 묻고 답하기

제목 native session 쿠키관련
글쓴이 슈퍼개미 작성시각 2010/02/10 18:25:36
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 24224   RSS
    안녕하세요!!
    세션은 native session 를 사용중인데
    helper('cookie')을 사용해서 ID와 PW를 저장하고
    로그아웃을 했을경우는 ID와 PW가 저장되어있는것같습니다.
    그런데 다른 웹페이지를 띄우면 ID와 PW가 쿠키에 없습니다.
    왜이럴까요 ...방법이 없을까요?
    감사합니다.
 다음글 CI 질문은 아니구요; jQuery 질문인데요ㅠㅠ (4)
 이전글 [초보]체크박스의 폼검증에 관하여 (7)

댓글

변종원(웅파) / 2010/02/10 21:10:10 / 추천 0
질문하신 내용만 가지고는 답변드릴 수가 없습니다.

set_cookie($cookie); 에서 $cookie에 해당하는 내용 올려주세요.
슈퍼개미 / 2010/02/11 08:48:11 / 추천 0

답변감사합니다.
$cookie = Array(
                            'name'   => 'sid',
                            'value'  => $this->encrypt->encode('$id']),
                            'expire' => time() + 30*24*3600
                            );
set_cookie($cookie);
그리고 서버시간은 확인했고
$this->session->set_userdata($sess); <-세션데이터도 사용합니다.

 

변종원(웅파) / 2010/02/11 09:32:12 / 추천 0
php cookie 매뉴얼을 한번 읽어보시구요.
도메인을 안넣게 되면 문제가 됩니다.

$cookie = array(
                   'name'   => 'The Cookie Name',
                   'value'  => 'The Value',
                   'expire' => '86500',
                   'domain' => '.some-domain.com',
                   'path'   => '/',
                   'prefix' => 'myprefix_',
               );

슈퍼개미 / 2010/02/11 10:11:58 / 추천 0

진심으로 답변감사드립니다. 이것저것하다보니까 해결된듯합니다. 제가 로컬에서 작업을하기때문에 도메인때문에 그런지는 모르겠지만 지금 현재는 도메인을 사용안하고 테스트하고있습니다. 원인을 보니 왠지는 모르겠지만  'expire' => time() + 30*24*3600 이렇게 넣었더니 안되던것이 그냥 'expire' => 31536000 넣었더니 작동하는군요..expire가 최대시간이 있나봅니다.
 

ci세상 / 2010/02/11 12:36:43 / 추천 0
메뉴얼에 보시면 주의사항 : 쿠키유효시간(expiration)은 초로 설정하며 현재시점으로부터 설정된 시간까지 쿠키가 유효하게 됩니다. 시를 포함시키지 말고 현재로부터 쿠키유효성이 유지될 시간까지의 초만을 설정해야 합니다. 0으로 설정하면 브라우저가 열려있는동안은 계속 유효하게 됩니다.