| 제목 | 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 으로 사용하다가 다른분께 도움 받아서 변종원(웅파)님이 알려주신 방법처럼 수정하여 사용중입니다. 답변 감사합니다!! 정말 감사합니다! |