ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ci 세션
    CI4 2022. 7. 8. 08:33
    728x90
    반응형

    # 세션 동작

    페이지가 로드되면 세션 클래스는 사용자의 브라우저에서 유효한 세션 쿠키가 전송되는지 확인한다.
    세션 쿠키가 존재하지 않거나, 서버에 저장된 쿠키와 일치하지 않거나, 만료된 경우 새 세션이 생성되고 저장된다.

    유효한 세션이 존재하면 해당 정보가 업데이트되며, 업데이트할 때마다 세션 ID가 다시 생성될 수 있다.

     

    #세션 액세스 및 초기화

    세션은 일반적으로 각 페이지를 로드할 때마다 전체적으로 실행되므로 세션 클래스를 초기화해야 합니다.

    •  $session = \Config\Services::session($config); => $config 는 옵션이므로 안 쓸 경우 삭제 
    •  $session = session();

     

    #세션 닫기

    • session_write_close();

     

    #세션 정보 입력

    $session->set($array); //배열형태로 입력

    <?
    
    namespace App\Controllers;
    
    class LoginSample extends BaseController
    {
        public function login()
        {
    
    	$session = session();
            
            $newdata = [
            'username'  => 'johndoe',
            'email'     => 'johndoe@some-site.com',
            'logged_in' => true,
            ];
            $session->set($newdata);
            //$session->set('some_name', 'some_value');
    	}
    }

     

    #세션 정보 가져오기

    세션 배열의 정보는 $_SESSION 통해 가져온다.

     

    • 특정 세션 정보 가져오기 
    1. $item = $_SESSION['item'];
    2. $item = $session->get('item');
    3. $item = $session->item;
    4. $item = session('item');
    • 세션 정보 모두 가져오기
    1. $userData = $_SESSION;
    2. $userData = $session->get();

     

    #세션 존재확인

    isset(세션정보)

    <?
    
    if ( isset($_SESSION['some_name'])) ) {
    	//세션정보 존재
    } else {
    	//세션정보 없음
    }

     

    #세션데이터 제거

    • unset($_SESSION['some_name']);
    • $session->remove('some_name');

     

    #세션파괴

    현재 세션을 지우려면 (ex 로그 아웃) PHP의 session_destroy() 함수 또는 라이브러리의 destroy() 메소드를 사용하면 된다.

    • session_destroy();
    • $session->destroy();

     

    #세션종료

    이전 session_id와 모든 데이터를 삭제하고, 세션 ID가 포함된 쿠키를 삭제하여 세션을 완전히 종료할 수 있다.

    • $session->stop();
    728x90
    반응형

    'CI4' 카테고리의 다른 글

    ci 트랜잭션  (0) 2022.07.21
    ci paginate 페이징처리  (0) 2022.07.15
    ci 사용자 라이브러리  (0) 2022.07.07
    ci 쿼리 결과 가져오기  (0) 2022.07.06
    ci form 데이터 가져오기  (0) 2022.07.05

    댓글

Designed by Tistory.