Skip to main content
조회 수 16711 추천 수 0 댓글 3
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

외부페이지를 하나 만들고, 로그인 전후에 대한 세션변수를 알아보자.

 

<?

print_r($_SESSION);

?>

 

이렇게 하면 세션변수들이 쭉~

 

Array ( [is_logged] => 1 [logged_info] => stdClass Object ( [member_srl] => 000 [user_id] => aaaaaa [email_address] => aaaa@aaaa.aa.aa [password] => aaaaaaaaaaaaaaaaaaaa [email_id] => webmaster [email_host] => aaaa.aa.aa [user_name] => aaa [nick_name] => aaa [homepage] => aaa [blog] => [birthday] => [allow_mailing] => Y [allow_message] => Y [denied] => N [limit_date] => [regdate] => 0000000000 [last_login] => 00000000 [is_admin] => N [description] => [change_password_date] => [find_account_question] => 0 [find_account_answer] => [list_order] => -000 [profile_image] => [image_name] => [image_mark] => [signature] => [group_list] => Array ( [1] => 관리그룹 ) [body] => [_filter] => insert [is_openid] => [menu_list] => Array ( [dispMemberInfo] => 회원 정보 보기 [dispMemberScrappedDocument] => 스크랩 보기 [dispMemberSavedDocument] => 저장함 보기 [dispMemberOwnDocument] => 작성 글 보기 [dispCommunicationFriend] => 친구 보기 [dispCommunicationMessages] => 쪽지함 보기 ) [is_site_admin] => ) [accessible] => Array ( [2788] => 1 [1204] => 1 [960] => 1 [1594] => 1 [2774] => 1 ) [readed_document] => Array ( [2774] => 1 ) [ipaddress] => 000.000.000.000 [member_srl] => 000 [is_admin] => [lang_type] => ko )

 

보통은 위와 같이 줄바꿈 없이 나온다.

줄바꿈해서 정리하면 아래와 같다.

 

Array (
[is_logged] => 1
[logged_info] => stdClass Object (
    [member_srl] => 000
    [user_id] => aaaaaa
    [email_address] => aaaaa@aaaa.aaa
    [password] => 000000000000000000000000
    [email_id] => aaaaaa
    [email_host] => aaaa.aa.aa
    [user_name] => aaa
    [nick_name] => aaa
    [homepage] => http://aaaaa.aaaa.aaa
    [blog] =>
    [birthday] =>
    [allow_mailing] => Y
    [allow_message] => Y
    [denied] => N
    [limit_date] =>
    [regdate] => 00000000000000
    [last_login] => 00000000000000
    [is_admin] => N
    [description] =>
    [change_password_date] =>
    [find_account_question] => 0
    [find_account_answer] =>
    [list_order] => -000
    [profile_image] =>
    [image_name] =>
    [image_mark] =>
    [signature] =>
    [group_list] => Array (
        [1] => 관리그룹 )
    [body] =>
    [_filter] => insert
    [is_openid] =>
    [menu_list] => Array (
        [dispMemberInfo] => 회원 정보 보기
        [dispMemberScrappedDocument] => 스크랩 보기
        [dispMemberSavedDocument] => 저장함 보기
        [dispMemberOwnDocument] => 작성 글 보기
        [dispCommunicationFriend] => 친구 보기
        [dispCommunicationMessages] => 쪽지함 보기 )
    [is_site_admin] => )
[accessible] => Array (
    [2788] => 1
    [1204] => 1
    [960] => 1
    [1594] => 1
    [2774] => 1 )
[readed_document] => Array (
    [2774] => 1 )
[ipaddress] => 000.000.000.000
[member_srl] => 000
[is_admin] =>
[lang_type] => ko )

 

 

잘 살펴보면 Array 라는 부분이 보인다. 배열이닷!

이제부터 위의 세션 변수들을 부르는 방법을 알려주겠다.

 

PHP 5.X 부터 $_SESSION['변수명'] 으로 해야 부르는 걸로 알고 있다. (내서버는 저래야 불러진다 -0-;)

$_SESSION['is_logged'] 하면 1 또는 0 이 출력된다. 1은 (true)값이고, 0은 (false)값이다.

 

그럼 Array 안에 있는 세션변수를 불러보자.

$_SESSION['logged_info']->user_id 하면 현재 로그인한 회원 id값을 불러온다.

 

다시 Array 안의 Array를 불러보자.

$_SESSION['logged_info']->group_list[1] 하면 현재 로그인한 회원의 첫번째 그룹을 불러온다.

 

이런식으로 세션변수를 불러오면 되겠다.

 


 

다음은 외부페이지에서 세션 변수 말고, 그냥 변수로 불러오는 방법은 없을까?

외부페이지 상단에 아래와 같이 선언을 하라고 한다. 

 

<?
if(!defined('__ZBXE__')) exit();
$logged_info = Context::get('logged_info');

?> 

 

그러면 logged_info 내용이 변수에 저장된다.

그렇다면 이제 변수로 저장된 것을 불러보자.

 

$logged_info->user_id

$logged_info->group_list[1]

 

이런식으로 부르면 되겠다.

 

여기서 글을 마무리 짖는데 궁금한 부분이 생겼다.

어차피 세션변수로 자동으로 불러오는데 궂이 Context::get() 으로 불러올 필요가 있겠는가 하는것이다.

 

레이아웃과 연관이 있을듯 한데... 우선 마무리~ 

 

 

 

 

 

 


아래쪽 내용은 정리되지 않았으니, 참고만 하시기 바랍니다. 위쪽 내용만으로도 충분하리라 생각하는데... 아무튼 앞으로도 아래쪽 내용은 정리안합니다. ㅎㅎ


 

그냥 xe 세션 변수를 알고 싶다...

그냥 한번 불러 보고 싶다.

방법은?

foreach($_SESSION as $key => $value) {

        echo $key.'<br>';

}

is_logged
logged_info
ipaddress
member_srl
is_admin

 

foreach($_SESSION['logged_info'] as $key => $value) {

        echo $key.'->'.$value.'<br>';

}


member_srl->
user_id->
email_address->
password->
email_id->
email_host->
user_name->
nick_name->
find_account_question->0
find_account_answer->
homepage->
blog->
birthday->
allow_mailing->N
allow_message->Y
denied->N
limit_date->
regdate->
last_login->
change_password_date->
is_admin->Y
description->
list_order->
profile_image->
image_name->
image_mark->
signature->
group_list->Array
body->
_filter->
is_openid->
menu_list->Array
is_site_admin->


-------------------------------


아래에 여러가지 팁이 있군요~ 쩝쩝.. 근데 오류 메세지가.. 아무튼...



[php-tip]POST, GET, SESSION, 배열 값, 기타 등등 모두 출력하기

 

 

<?

// 테스트용 데이터 생성

$_POST['1']="가";
$_POST['2']="나";
$_POST['3']="다";
$_POST['4']="마";

$_GET['1']="가";
$_GET['2']="나";
$_GET['3']="다";
$_GET['4']="마";

 

$_SESSION['1']="가";
$_SESSION['2']="나";
$_SESSION['3']="다";
$_SESSION['4']="마";

 

$ary = array("1","2","3");
?>

 

<?

# POST 값을 모두 출력하기

// foreach()을 이용하는 방법
foreach($_POST as $key => $value)

 echo "$key ==> $value <br>";
}

echo "<br><br>";

// var_dump()을 이용하는 방법

var_dump($_POST);

 

echo "<br><br>";

// print_r()을 이용하는 방법

print_r($_POST);

?>

 

<?

# GET 값을 모두 출력하기

// foreach()을 이용하는 방법
foreach($_GET as $key => $value)

 echo "$key ==> $value <br>";
}
 

echo "<br><br>";

// var_dump()을 이용하는 방법

var_dump($_GET);

 

echo "<br><br>";

// print_r()을 이용하는 방법

print_r($_GET);

?>

 

<?
# SESSION 값을 모두 출력하기

// foreach()을 이용하는 방법
foreach($_SESSION as $key => $value)

 echo "$key ==> $value <br>";
}
?>

 

<?

# 배열 값을 모두 출력하기

// foreach()을 이용하는 방법
foreach($ary as $key => $value)


 echo "$key ==> $value <br>";
}
 

echo "<br><br>";

// var_dump()을 이용하는 방법

var_dump($ary);

 

echo "<br><br>";

// print_r()을 이용하는 방법

print_r($ary);

?>

  • profile
    종스 2011.03.06 14:30

    여러가지 고찰중... ㅠ.ㅠ


    //foreach($_SESSION as $key => $value) {

    //    if($_SESSION['logged_info']->member_sr){

    //        foreach($_SESSION['logged_info'] as $key => $value) {

    //            echo $key.'->'.$value.'<br>';

    //        }

    //    }else {

    //        echo $key.'-'.$value.'<br>';

    //    }

    //}


    //echo('is_logged - '.$_SESSION['is_logged'].'<br>');

    //echo('ㄴㅇㄹㄴㅇㄹㄴㅇㄹ- '.$_SESSION['ㄴㅇㄹㄴㅇㄹ'].'<br>');

    //echo('ㄴㅇㄹㄴㅇㄹㄴㄹ- '.$_SESSION['ㄴㅇㄹㄴㅇㄹ'].'<br>');

  • profile
    종스 2011.10.14 17:03

    ver 1.4.5.10 기준

     

    로그인 안할때

    $_SESSION

    - is_logged
    - logged_info
    - readed_document
    - accessible
    - accessibled_comment

    $_SESSION[logged_info]

     

     

    로그인 하면

    $_SESSION

    - is_logged
    - logged_info
    - readed_document
    - accessible
    - accessibled_comment
    - ipaddress
    - member_srl
    - is_admin

    $_SESSION[logged_info]

    - member_srl->1
    - user_id->aaaaaaaa
    - email_address->aaaaaaa@aaaaaaaaa.aaa.aa
    - password->sdfdsfsdfsfsfdsfdsfdsfdsfsdfsdf
    - email_id->aaaaaaaaaa
    - email_host->aaaaaa.aa.aa
    - user_name->aaaaaaaaaa
    - nick_name->ㅋㅋ
    - homepage->
    - blog->
    - birthday->
    - allow_mailing->N
    - allow_message->Y
    - denied->N
    - limit_date->
    - regdate->00000000000000
    - last_login->20000000000000
    - is_admin->Y
    - description->
    - change_password_date->00000000000000
    - find_account_question->
    - find_account_answer->
    - list_order->-0
  • profile
    종스 2011.10.19 09:46

    테스트를 위한 외부페이지 세션변수 및 logged_info 불러오는 소스

     

    <?
    if(!defined('__ZBXE__')) exit();
    $is_logged = Context::get('is_logged');
    $logged_info = Context::get('logged_info');

    print_r($_SESSION);
    //var_dump($_SESSION);

    echo('<br><br><br>');
    echo('$_SESSION<br>');
    foreach($_SESSION as $key => $value) {
        echo('<div style="margin-left:10px;"> - '.$key.'</div>');
    }

    echo('<br><br><br>');
    echo('$_SESSION[logged_info]<br>');
    foreach($_SESSION['logged_info'] as $key => $value) {
        echo('<div style="margin-left:20px;"> - '.$key.'→'.$value.'</div>');

        if($key == 'group_list') {
            foreach($value as $gkey => $gvalue) {
                echo('<div style="margin-left:40px;"> - '.$gkey.'→'.$gvalue.'</div>');
            }
        }

        if($key == 'menu_list') {
            foreach($value as $mkey => $mvalue) {
                echo('<div style="margin-left:40px;"> - '.$mkey.'→'.$mvalue.'</div>');
            }
        }
    }

    echo('<br><br><br>');
    echo('is_logged : '.$is_logged.'<br>');
    echo('_SESSION[logged_info]->group_list : '.$_SESSION['logged_info']->group_list[1].'<br>');
    echo ('logged_info->is_admin : '.$logged_info->is_admin.'<br>');
    echo ('logged_info->group_list[1] : '.$logged_info->group_list[1].'<br>');
    print_r($logged_info->group_list);
    ?>


List of Articles
번호 카테고리 제목 글쓴이 날짜 조회 수
36 XE 팁 XE CKEditor 옵션 설정 (i 태그 유지하기) geusgod 2015.06.09 208153
35 XE 팁 XE 비밀번호 찾기 질문/답변 필수 제거하기 geusgod 2014.07.11 2558
34 XE 팁 XE 외부페이지 이미지 리사이즈 애드온 적용하는 방법 geusgod 2013.11.07 4816
33 XE 팁 XE 구글 analytics 코드 어디에 넣어야 효율적인가? geusgod 2013.07.29 5213
32 XE 팁 XE 외부페이지 javascript 주석 처리시 주의점 geusgod 2013.03.18 5619
31 XE 팁 XE 외부링크 이미지 썸네일 생성 문제 1 geusgod 2012.06.29 10853
30 XE 팁 xe 1.6.0 업그레이드를 위한 준비 geusgod 2012.06.28 8611
29 XE 팁 xe 외부페이지 mid 중복일때 다음페이지로 넘기는 방법 geusgod 2012.05.27 6715
28 XE 팁 SocialXE Server - Facebook 인증불가시 (에러발생시) file geusgod 2011.12.16 11045
27 XE 팁 XE Action Forward 와 Module Trigger 정리하기 종스 2011.11.01 11229
26 XE 팁 XE 버튼 관련 샘플 종스 2011.10.24 8316
25 XE 팁 Xpressengine 스팸 API 골라서 적용하자~ geusgod 2011.06.28 10699
24 XE 팁 Xpressengine 속도 향상 방법론 (트리거 제거론) 종스 2011.06.05 10532
» XE 팁 XE 외부페이지 세션변수 및 logged_info 변수 활용 3 종스 2011.01.01 16711
22 XE 팁 Xpressengine 일반 함수들 종스 2010.12.31 14164
21 XE 팁 Xpressengine 외부페이지 에디터 사용법 geusgod 2010.12.06 13947
20 XE 팁 xpressengine 메뉴 분석 geusgod 2010.11.28 14412
19 XE 팁 xpressengine 스킨 파일에서 DB내용 불어오기! 종스 2010.11.23 13228
18 XE 팁 Xpressengine 외부페이지 폼 변수 전달하고 받는 방법 종스 2010.06.03 18414
17 XE 팁 XE 디버그(debug) 하는 방법 geusgod 2010.02.26 26378
Board Pagination Prev 1 2 Next
/ 2