CMS솔루션마켓, 이온디 - 워드프레스, 라이믹스, 카페24, 그누보드, 엑셀

파싱

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

 

<?

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);

?>

 
댓글은 로그인 사용자만 작성 가능합니다. 로그인하기