외부페이지를 하나 만들고, 로그인 전후에 대한 세션변수를 알아보자.
<?
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);
?>