제목 | 세션처리 문제. | ||
---|---|---|---|
글쓴이 | 수야디벨 | 작성시각 | 2012/12/26 17:20:25 |
|
|||
안녕하세요~ 다들 크리스마스 잘 보내셨는지 모르겠네요 :) 만들고 있는 페이지에서 , 로그인 처리를 세션으로 관리해 줍니다. 로그인을 하면, view 화면에서 사용자의 대표 이미지를 한장 보여주는데요. 이때의 대표이미지를 유저정보 테이블에 저장시켜서 , 뽑아오는 형식으로 구현했습니다. $session_id = $this->session->userdata('userid'); //로그인 정보를 넘기기 위해서. $this->load->model('werail/login/login_model'); $query = $this->login_model->get_userinfo($session_id); 이렇게 세션아이디를 모델로 던져서 , 모델에서 세션 아이디에 해당하는 db를 검사한 후에, 같은 테이블에 있는 imgsrc 컬럼의 값을 뽑아오는 식입니다. 그래서 이 imgsrc를 foreach($query as $row): $data['imgsrc'] = $row->imgsrc; endforeach; 이렇게 받아서 view에서 imgsrc를 변수로 사용하여 대표이미지를 보여주는데요. 이번에 로그아웃 기능이라고 만들었는데, 단순히 로그아웃 기능은 세션을 제거해주는 기능이거든요~? 그래서 세션을 제거하면, 세션은 제거가 되는데 대표이미지는 계속 보이더라구요. 그래서 어떻게 된건고 짚어보니, db가 동작을 하는거였습니다, 즉, $this->load->model('werail/login/login_model'); $query = $this->login_model->get_userinfo($session_id); 이 DB가 세션이 없는데도($session_id 이 없는데도) 정상적으로 작동을 하더라는거지요. (단, 위에서는 세션아이디에 해당하는 유저 한명만 값이 되돌아 왔다면 모든 유저정보가 되돌아 옵니다.) 이 되돌아온 유저 정보가 foreach($query as $row): $data['imgsrc'] = $row->imgsrc; endforeach; 이렇게 처리되기 때문에 마지막의 imgsrc 컬럼값이 변수에 저장이 되었던거지요 그래서 이상한 마음에 echo $session_id를 찍어봤는데, 분명이 값이 출력되지는 않거든요? 혹시 세션은 없지만 $ssession_id 에 빈문자열 '' 이라도 저장되나 싶어서 isset으로 체크해보려고 했는데, 구분이 되지도 않습니다.. 음 ..어떻게 해야 할까요? |
|||
다음글 | [초보] 항시 로그인을 체크해야할 때 (8) | ||
이전글 | 쿠키 사용에 대한 질문. (2) | ||
수야디벨
/
2012/12/26 17:45:28 /
추천
0
|
니삼
/
2012/12/26 17:53:33 /
추천
0
view에 세션이 있을떄만 보여지는 영역을 만든다
안에 사진을 보여주는 페이지를 만든다. 일반적으론 이렇게 하지 않나요? 그리고 이건 좀 부가적인거지만 사진 띄우는건 |
우선 로그인 처리를 세션으로 하는게 맞는지는 모르겠습니다만,
문제는, 세션을 제거해도 세션을 받아주는 변수 $session_id 에 어떠한 값이 저장되는거 같다, 구분을 못한다, 이니까.
로그인을 하는 과정에서 정상적으로 성공하면 userid 값만 세션으로 저장시키거든요?
이때 , 특정 다른 세션을 동시에 저장시킵니다.
예를 들어서 세션 저장시킬때 , useridexit = 1 로 세션을 설정해두고,
로그아웃 해서 세션을 제거할때 useridexit = 0 으로 세션을 설정하여 ,
이 useridexit 세션 값으로 로그아웃을 제어해버렸습니다.
에휴 ..이게맞는지 잘모르겠네요