제목 | ci4 session 관련 질문입니다. | ||
---|---|---|---|
카테고리 | CI 4 관련 | ||
글쓴이 | ci늦둥이 | 작성시각 | 2021/03/21 16:17:46 |
|
|||
안녕하세요. 세션 관련해서 질문이 있습니다. ci 버전은 v4.1.1 입니다.
로그인 컨트롤러 에서 사용자 인증 성공시 세션에 값을 담으려고 하고, view 에선 공통 header 에 session 값을 체크하려고 합니다.
먼저 로그인 컨트롤러 입니다. ( 생략 부분은 ... 으로 표현했습니다.)
public function login() { ... $_session = session(); $_session->set('is_login', 1); $_session->set('userInfo', [ 'user_id' => $userId, 'user_name' => $userName, .... ]); ... }
공통 header 입니다. <?php session_start(); $is_login = 'is_login'; if( !(isset($_SESSION[$is_login]) && !empty($_SESSION[$is_login]) && intval($_SESSION[$is_login]) == 1) ) { ?> <script> location.href = "<?= site_url('/auth/login'); ?>"; </script> <?php } ?>
header 부분에선.. autoload 에서 session 사용방법을 몰라 제가 아는 방식대로 하였습니다.
로그인을 하면 컨트롤러에선 성공하는데 공통 헤더부분에선 세션정보가 다 빠져있더라구요.. 계속 시도해보고, 구굴링을 해도 해결되지 않아 질문글을 올리게 되었습니다.
감사합니다. |
|||
다음글 | CI 스타일링은 보통 어떤 CSS라이브러리 혹은 JS프... (2) | ||
이전글 | 윈도우(PC)+ 비트나미(웹서버) = WAMP 사용할... (5) | ||
빛그림
/
2021/03/21 16:22:45 /
추천
0
뷰에서 var_dump(session()->get('userinfo')) 으로 확인해보세요.
|
ci늦둥이
/
2021/03/21 16:55:18 /
추천
0
뷰에서 var_dump($_SESSION); 으로 확인했을때 "_ci_previous_url" 말고는 저장된 값이 없어서 질문글 올리게 되었습니다.
|
ci늦둥이
/
2021/03/22 15:35:14 /
추천
0
뷰나 컨트롤러 에서 $_SESSION 으로 사용하여 처리하였습니다. 컨트롤러에서 $session = session(); 을 사용하면 뭔짓을 해도 안들어가지네요... 제가 무엇을 뺴먹고, 무엇을 잘못했는지 잘 모르겠습니다.. |
변종원(웅파)
/
2021/03/23 15:36:42 /
추천
0
session_start 때문에 그럴거 같네요. 저는 BaseController.php 생성자에서 아래와 같이 선언하고 헬퍼나 다른 곳에서 선언할때도 똑같이 선언했습니다. 이상없이 작동중입니다. $this->session = \Config\Services::session(); |
ci늦둥이
/
2021/03/23 16:01:13 /
추천
0
변종원(웅파)님. 답변 감사합니다. $_SESSION 으로 사용하다가 다른분께 도움 받아서 변종원(웅파)님이 알려주신 방법처럼 수정하여 사용중입니다. 답변 감사합니다!! 정말 감사합니다! |