묻고답하기
송동우님~
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 남기남 |
mena | 송동우님 도와주세요 [2] | 2012.01.03 by mena |
kanasii | 멀쩡한 사이트가 맛이 갓습니다. [1] | 2012.01.03 |
Free942 | 준회원, 정회원은 구분할 수 있는데 비로그인은 어떻게 구분할 수 있을까요? [2] | 2012.01.03 by 송동우 |
mydesign | 1.5.1 게시판 익스플로러 사용시 에러가 납니다. [1] | 2012.01.03 by 송동우 |
뮤 | 송동우님~ [1] | 2012.01.03 by 송동우 |
Free942 | 사용중지된 이용자들이 너무 많습니다 쿼리문으로 모두 풀 수 있을까요? [1] | 2012.01.03 by 송동우 |
Carine | 1.5.1.1에서 게시판 덧글 [1] | 2012.01.03 by 하늘종 |
나우2006 |
코어 업데이트후 게시판 글쓰기 부분이 이상해 졌습니다.
[1]
![]() | 2012.01.03 by 하늘종 |
릴렉싱 | 답변좀부탁드립니다 [1] | 2012.01.03 by 송동우 |
메디안 | IE 8 에서 홈페이지 접속시 res://ieframe.dll/acr_error.htm# 오류 [1] | 2012.01.03 by 메디안 |
천국의XE | 마이피플 - 글 전송 애드온 | |
miso777 |
FTP 절대경로가 무엇인가요.?
[2]
![]() | 2012.01.03 by 바른 생활 |
WonBan |
회원가입 화면 질문 드립니다
[3]
![]() | 2012.01.03 by 송동우 |
호롱이 | 메뉴에 마우스 올려놓으면 메뉴속도 문제 [1] | 2012.01.03 by 웹엔진 |
나우2006 |
상세한 에러설명과 함께 다시한번 질문드립니다.. 꼭 좀 알려주세요..
[2]
![]() | 2012.01.03 by 송동우 |
Huckleberry Finn | 화면 넓이 조절 하는 방법 알려주세요. [1] | 2012.01.03 by 웹엔진 |
블리스5 | 아이디 [1] | 2012.01.03 by 무한탐구 |
sugarkane | 친구에게만 글을 노출시키는 게시판 | |
하규태 | 관리자 닉네임에 스타일을 주고 싶은데요 .. | |
청개굴이 | 스팸글 발견했는데요.. |
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언어로 해야 합니다.