묻고답하기
송동우님~
2012.01.02 19:59
외부 페이지에서 회원 정보를 보여주게 하려고 합니다.
일단 이렇게 만들어 보았습니다.
<?
$uid = $_GET['user_id'];
$conn=mysql_connect("localhost","아이디","비밀번호");
mysql_select_db("DB명",$conn);
$query="select * from xe_member where user_id='$uid'";
$result=mysql_query($query) or die("$query".mysql_error());
while($row=mysql_fetch_array($result))
{
echo $row[user_id];이하 생략
}
?>
한데 이러면 문제가, http://주소/test.php?user_id=아이디 이런식으로 접속하는 것이니
다른 회원의 아이디를 치면 정보가 다 보이게 됩니다.
게다가 페이지 수정 > 내용 직접 추가에서 <a href="http://주소/test.php?user_id=$logged_info->user_id">보러가기</a>
를 해도 정상 작동하지 않구요.
그래서 묻고답하기 게시판에서 한참 검색하다가
<?
define('__ZBXE__', true);
require_once('./config/config.inc.php');
$oContext = &Context::getInstance();
$oContext->init();
$logged_info = Context::get('logged_info');
?>
이걸 최상단에 넣으면 외부페이지에서도 회원정보를 가져올 수 있다는 것을 알게 되었습니다.
그래서
<?
define('__ZBXE__', true);
require_once('./config/config.inc.php');
$oContext = &Context::getInstance();
$oContext->init();
$logged_info = Context::get('logged_info');
$id = $logged_info->user_id;
echo $id;
?>
를 해봤는데 아무것도 뜨지 않습니다. echo $id 아래에 echo "테스트"; 를 넣으면 테스트만 정상 출력되더군요.
제가 뭘 잘못한 걸까요?
해당 php파일의 경로는 public_html/test.php이고
config.inc.php 파일의 경로는 public_html/config/config.inc.php입니다.
답변 해 주시면 정말 감사하겠습니다.
* 추가로 궁금한 것이 있는데
<html>
<head>
</head>
<body>
<!--@foreach($logged_info->group_list as $key => $val)-->
<h2>$val</h2>
<!--@if($val=="Manager")-->
관리자일 경우
<!--@end-->
<!--@end-->
</body>
</html>
이렇게 작성했는데 $val의 값이 아니라 그냥 $val이라는 텍스트가 뜹니다.
또 "관리자일 경우" 라는 메시지가 모든 그룹과 로그인하지 않은 사용자에게도 뜹니다.
무엇이 잘못된 것인가요?
오늘 처음 건드려 보는 거라 모르는게 참 많네요. 귀찮게 해드려 죄송할 따름입니다 ㅠㅠ
댓글 1
-
송동우
2012.01.03 04:17
-
뮤
2012.01.04 00:38
친절한 답변 감사합니다. 말씀 듣고 그냥 위젯 수정해서 하니 잘 됩니다 ㅎ 페이지 만들어서 하는것도 잘 됐구요~
글쓴이 | 제목 | 최종 글 |
---|---|---|
XE | 공지 글 쓰기,삭제 운영방식 변경 공지 [16] | 2019.03.05 by 남기남 |
fvwsj | 바로 밑의 글의 확장입니다.. [6] | 2009.06.24 by fvwsj |
글쓴이 | 광고방지 [1] | 2009.06.24 by kanasii |
fvwsj | 웹폰트 업로드 위치.. [1] | 2009.06.24 by bcpt |
앵겨이 |
페이지 수정을 클릭시 그림과 같이 뜨는데 음....
[2]
![]() | 2009.06.24 by 앵겨이 |
fvwsj | bcpt님 한가지만 더.. [2] | 2009.06.24 by fvwsj |
나니77 |
사진 갤러리식으로 나오게 하려면요
[1]
![]() | 2009.06.24 by Jaime |
이스트하버 | 영어로 설정했는데 다른 컴에서 보면 한글로 나오는 문제 [2] | 2009.06.24 by 글쓴이 |
세르 | 관리자가 게시물을 수정하면 글쓴이가 수정되는 문제 [1] | 2009.06.24 by CGnDEV |
비사조 | 제로님 이 사이트에 로그인이 안됩니다. | |
D페이스 | 스프링노트 카테고리처럼 | |
전병혁 | 제로보드 설치중.. 문제가 발생했어요... [1] | 2009.06.24 by 전병혁 |
화신 |
페이지 수정/설정/케시파일 재생성 버튼 관련 질문입니다...
[4]
![]() | 2009.06.24 by 화신 |
sunlight | 메뉴얼이 어디 있을까요? [2] | 2009.06.24 by 글쓴이 |
글쓴이 | 확장변수중 특정확장변수에 입력된 값은 관리자와 글쓴이만 볼수 있도록 하려면 어떻게 하나요? [1] | 2009.06.24 by MX |
김명현925 |
윈라이트 모듈 체크해놓은건 어디에서 해제하는거죠?
[2]
![]() | 2009.06.24 by 김명현925 |
zerolover |
게시판을 사용하다가....
[2]
![]() | 2009.06.24 by 글쓴이 |
blue7377 | 게시판안에 있는 글 열었을때..사이트 자동이동 | |
파워돌 |
관리자 페이지
![]() | |
김성현337 |
사진파일 첨부가 안되요~
[3]
![]() | 2009.06.24 by 글쓴이 |
아쿠 | 마이그레이션 센터가 없어져서 그런데요 ㅠㅠ [2] | 2009.06.24 by 꿍꿍이 |
1.
config.inc.php 파일의 경로가 제대로 잡혀있다면
출력이 되어야 정상입니다.
echo "<pre>";
print_r($logged_info);
echo "</pre>";
xe에 로그인 되어 있는 상태에서
이걸 찍어서 결과가 제대로 나오나 한 번 보세요
2.
사용하시는 test.php파일은 모듈화하지 않은, 즉 xe와는 전혀 상관이 없는 파일입니다.
보통 xe에서 말하는 외부파일은 관리자페이지의 외부페이지 메뉴에서 해당파일을 연결한 페이지(외부페이지)를 말합니다.
이렇게 생성(연결)된 외부페이지는 xe파일처럼 해당정보를 이용할 수 있고, 템플릿언어를 사용할 수 있습니다.
하지만
전혀 상관없는 외부파일은 템플릿언어를 사용해도 당연히 안되겠죠
html 파일에 php를 아무리 작성해 봐야 작동하지 않는 것처럼........
<!--@ foreach($logged_info->group_list as $key => $val)-->
이런 것은 템플릿 언어입니다.
그리고 출력을 할 때도 $val 이것이 아니라 {$val} 이렇게 되어야 하지만,
xe와 연결이 된 외부페이지에서 가능한 것입니다.
템플릿 언어를 사용하고자 한다면 관리페이지에서 외부페이지로 연결을 하고
아니면 php언어로 해야 합니다.