https://web.archive.org/web/20161102025311/http://www.xeschool.com/xe/xenote_useful_variable_logged_info

$logged_info

XE에 접근하면 XE는 항상 방문자의 로그인 여부를 우선 먼저 확인하게 된다. 이때 사용하는 변수가 $is_logged 와 $logged_info 이다.

Context.class.php 파일 137라인을 참고해 보면 member 모듈의 member.controller.php 파일의 메서드(해야 할 일)를 참고하여 방문자가 로그인했는지, 로그인했다면 세션과 쿠키로 저장하고 변수 $is_logged에는 TRUE 를, $logged_info에는 회원의 기본정보를 찾아 배열 형식으로 담아 주게 된다.

방문자가 로그인 했다면 $is_logged = 'true' 가 된다.

변수 $is_logged의 활용

$is_logged는 레이아웃에서나 또는 게시판 스킨 등에서 무척 다양하게 활용할 수 있다. 예를 들어, 방문자가 로그인 했다면 보여줄 내용과 그렇지 않을때 보여줄 내용을 다르게 설정할 수도 있고 로그인 위젯에서는 로그인 폼과 회원정보 폼을 각각 다르게 출력할 수도 있다. $is_logged는 XE의 가장 기초적인 변수명이다. XE 템플릿 문법에서는 다음과 같이 사용하도록 한다.

<!--@if($is_logged)-->
      당신은 로그인하신 회원입니다. // 로그인 회원에게 보여줄 내용
<!--@else-->
      당신은 로그인하지 않으셨습니다. //비로그인 회원에게 보여줄 내용
<!--@end-->

결과값 : 당신은 로그인하지 않으셨습니다.

XE의 새로운 템플릿(신문법) 문법으로 사용하면 다음과 같다.

<p cond="$is_logged">당신은 로그인하신 회원입니다.</p>
<p cond="!$is_logged">당신은 로그인하지 않으셨습니다.</p>

결과값 :

당신은 로그인하지 않으셨습니다.

이 변수는 XE 전반에 걸쳐 매우 자주 사용되는 유용한 변수이다. / [스마트 로그인] 참고

$is_logged가 TRUE이면 XE는 변수 $logged_info 에 회원정보를 담는다. $logged_info에는 어떤 내용이 들어있을까?

{print_r($logged_info)}의 결과값 :

stdClass Object ( 
	[member_srl] =>	4	// $logged_info->member_srl 회원 고유번호
	[user_id] =>		// $logged_info->user_id 아이디
	[email_address] =>	// $logged_info->email_address 이메일 주소
	[password] =>		// $logged_info->password 비밀번호
	[email_id] =>		// $logged_info->email_id 이메일 아이디
	[email_host] =>		// $logged_info->email_host 이메일 호스트
	[user_name] =>		// $logged_info->user_name 이름
	[nick_name] =>		// $logged_info->nick_name 닉네임

	[find_account_question] => 0 XE 공홈에서 사용하는 듯...질문찾기?
	[find_account_answer] =>  XE 공홈에서 사용하는 듯...답변찾기?
	
	[homepage] =>		// $logged_info->homepage 홈페이지
	[blog] =>			//$logged_info->blog 블로그
	[birthday] =>		// $logged_info->birthday 생년월일 (YYYYMMDD)
	[allow_mailing] => N	// $logged_info->allow_mailing 메일링 가입
	[allow_message] => Y	// $logged_info->allow_message 쪽지 수신 허용
	[denied] => N		// $logged_info->denied 사용중지
	[limit_date] =>		// $logged_info->limit_date 제한일 
	[regdate] =>		// $logged_info->regdate 회원가입일자
	[last_login] =>		// $logged_info->last_login 최종 로그인 일자
	[change_password_date] =>	// $logged_info->change_password_date 비밀번호 변경일자
	[is_admin] => Y		 // $logged_info->is_admin 관리자 확인
	[description] =>		// $logged_info->description 설명
	[list_order] => 		// $logged_info->list_order ???
	[profile_image] =>	// $logged_info->profile_image 프로필 이미지
	[image_name] =>	// $logged_info->image_name 이름 이미지 경로
	[image_mark] =>		// $logged_info->image_mark 그룹 이미지 경로
	[signature] =>		// $logged_info->signature 서명
	[group_list] => Array ( [1] => 준회원 )  // $logged_info->group_list 소속 그룹 목록
	[is_openid] =>		// $logged_info->is_openid 오픈아이디

	[menu_list] => Array (
		[dispMemberInfo] => 회원 정보 보기 
		[dispMemberScrappedDocument] => 스크랩 보기 
		[dispMemberSavedDocument] => 저장함 보기 
		[dispMemberOwnDocument] => 작성 글 보기 
		[dispCommunicationFriend] => 친구 보기 
		[dispCommunicationMessages] => 쪽지함 보기 
		) 

	[is_site_admin] =>	// $logged_info->is_site_admin 가상 사이트 관리자 확인
)

$logged_info에 접근하기

회원정보는 배열로 담겨져 있다. 따라서 각각의 요소에 접근하려면 $logged_info->속성이름 으로 접근해야 한다.