아주 기본 적용 : 아웃로그인 ? 외부로그인 ? > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

아주 기본 적용 : 아웃로그인 ? 외부로그인 ? 정보

아주 기본 적용 : 아웃로그인 ? 외부로그인 ?

본문

설명 필요없이 소스만 확인하시려면 맨 아래쪽을 보세요.
-------------------------------------------------------------
그누보드 외부로그인 달기 때문에 애를 많이 먹었습니다.

컴퓨터학원에서 c언어도 배웠고 지금은 asp언어를 배우고 있어서

자신감이 있었는데...

프로그램을 제가 짠게 아니라서 그런지
아직 실력이 초보라서 그런지

옆에있는 주석보고 이해해도 파일들이 너무 많아서
이해하기가 어려웠습니다. 

애초에 외부로그인 스킨을 만들기로 했는데

포기하고 기본외부로그인도 겨우 적용했습니다. ㅡㅡ;
---------------------------------------------------------------------------------------

외부로그인 스킨 적용이

http://sir.co.kr/manual/youngcart4/?man=skin.htm

이곳에 나와있는줄 몰랐습니다 ㅡㅡ;

그래서 gnuboard4의 index부분을 전체 수정해야 하나 ㅡㅡ; 머리를 싸맸죠.

메뉴얼에는 이렇게 나와있습니다.

<?
include_once("./_common.php");
include_once("$g4[path]/lib/outlogin.lib.php"); // outlogin() 함수를 사용하여야 하므로 이 프로그램을 포함시킵니다.

echo outlogin("basic"); // basic 스킨으로 아웃로그인을 출력합니다.
?>

여기서

include_once("./_common.php");
가로 안에 주소는 _common.php의 상대경로를 지정합니다.
나중에 알고 봤더니 _common.php는 $g4[path] 이놈의 값을 정해주는 역할을 하더군요
아마 _common.php를 다운받으셔서 소스를 열어보세요.


include_once("$g4[path]/lib/outlogin.lib.php");
첫번재 줄은 이 경로의 $g4[path] 때문에 해준겁니다.
그래서 첫번째줄을 써야 두번째줄의 경로가 제대로 먹히는 거죠.

제 생각으로 include_once 요거는 이미 작성한 문서를 사용하기위해 가져오는 구문같네요.
(c언어에서 사용자 헤더파일 가져오는 것 처럼)


echo outlogin("basic");
이녀석은 함수를 불러오는 것이더군요.
"basic"에 저는 폴더의 상대경로를 썼다가 안되길래 outlogin.lib.php파일의 소스를 보았습니다.
소스를 보니 스킨 경로가 $g4[path]를 통해 있었고 그 주소사이에 basic을 사용했습니다.

세번째줄 역시 첫번째 줄을 써야 경로가 제대로 먹히고
이 함수는 두번째줄 해당문서에 있기 때문에 두번째 줄도 제대로 써야 먹힙니다.

결국 세번째줄은 경로상관없이 basic으로 놓으면 됩니다.


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

자 이제 이 메뉴얼을 사용해 보겠습니다.

1. 우선 index.php(아웃로그인 달 곳)에  다음 소스를 넣고

<?
include_once("./_common.php");
include_once("$g4[path]/lib/outlogin.lib.php");
echo outlogin("basic");
?>

여기서 include_once("./_common.php");  <-  common.php의 상대경로를 지정해 줍니다.

-----설명---------------------------------------------------------------
'./' 이것은 현재 소스를 쓰고있는 문서        상대경로 입니다.
<즉 index.php에 아웃로그인 소스를 썼다면 index.php가 있는 폴더입니다.>

'../' 이것은 소스를 쓰고있는 문서가 있는 폴더의 상위 폴더       상대경로입니다.


예) /a/b/x.php 가 있다고 할 때 <a폴더안에 b폴더가 있고 b안에 x.php파일이 있다.>

x.php 파일소스에서 경로를 "../"로 잡아주면 경로가 가리키는 곳은 a폴더가 됩니다.




_common.php는 gnuboard4폴더에 찾아보시면 보이실겁니다.





저 같은 경우 서버 제일 상위폴더(= / )에 index.php파일이 있고
_common.php는 gnuboard4에 있어서 이렇게 해주었습니다.


적용할 페이지 경로     ->    /index.php
_common.php의 경로   ->    /gnuboard4/_common.php

 적용 include_once("./gnuboard4/_common.php");
------------------------------------------------------------------------


2.  _common.php 파일을 수정해 줍니다.

<?
$g4_path = ".";
include_once("$g4_path/common.php");
?>


여기서 $g4_path = ".";   <-   common.php파일이 들어있는 폴더의 상대경로를 정해줍니다.
 <_common.php와 common.php는 별개의 파일임>

주의: _common.php는 아웃로그인을 보여줄 문서(=index.php)에 불러와서 쓰기 떄문에
여기서 수정해야 하는 common.php의 상대경로는
_common.php와 common.php의 상대경로가 아닌
index.php 와 common.php의 상대경로 입니다.



-----설명---------------------------------------------------------------

저 같은 경우 서버 제일 상위폴더(= / )에 index.php파일이 있고
common.php는 gnuboard4에 있어서 이렇게 해주었습니다.


적용할 페이지 경로     ->    /index.php
_common.php의 경로   ->    /gnuboard4/common.php

 적용 $g4_path = "./gnuboard4"; 폴더의 상대경로
------------------------------------------------------------------------


3. 자 여기까지가 메뉴얼 내용이었는데 이렇게 하면 에러가 납니다 ㅡㅡ;

   메뉴얼에서 이점을 설명하지 않았습니다  ㅡㅡ; 뭐 에러가 안 나는 분들도 있고;

에러내용 : Warning: Cannot modify header information - headers already sent by (output started at /home/witbox/www/myel/index.html:3) in /home/witbox/www/gnuboard/common.php on line 8

저는 질문과 답변 게시판에서 아래 글을 참조하였습니다.



결국 1. 의 소스수정 뒤 요걸 나눠서 넣어야 합니다.
<시간순서대로 쓰느라 ㅡㅡ; 처음에 설명을 드리지 않았습니다.>



<?
include_once("./gnuboard4/_common.php");
include_once("$g4[path]/lib/outlogin.lib.php");
echo outlogin("basic");
?>





나누기




<?
include_once("./gnuboard4/_common.php");
include_once("$g4[path]/lib/outlogin.lib.php");
?>
요건 <html>맨 위에 박아놓습니다. 어차피 php언어이기 때문에 html밖에 놔도 상관 없습니다.




<?echo outlogin("basic"); ?>
요건 아웃로그인 달 곳에 박죠.


------------------------------------------------------------------------------
최종 소스만 보기
------------------------------------------------------------------------------
1. 아웃로그인을 넣을 php문서 <html>상단에 아래 소스를 넣는다.


<?
include_once("./_common.php");
include_once("$g4[path]/lib/outlogin.lib.php");
?>


여기서 include_once("./_common.php");
아웃로그인을 넣을 php문서와 _common.php의 상대경로를 넣는다.




2. 아웃로그인을 넣을 php문서 <body>안에 아래 소스를 넣는다.

<?echo outlogin("basic"); ?>


3. _common.php파일을 수정한다.

<?
$g4_path = ".";
include_once("$g4_path/common.php");
?>

여기서 $g4_path = ".";
아웃로그인을 넣을 php문서와 common.php가 들어있는 폴더의 상대경로를 넣는다.

추천
6

댓글 17개

자료 정리를 멋지게 하셨군요 수고하셨습니다.

추가로 다음과 같은 팁도 있으니 참고하시기 바랍니다.
g4 파일마다 들어있는 $g4_path, _common.php 설정 및 사용법
http://www.sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=271
<?=outlogin("basic"); ?>
<?=latest("folder name","board name","불러올 갯수","글자제한 숫자")?>
이렇게 해도...맞죠??? 홈피 작업할때 필요한것같아서요..ㅋ 죄송합니다~
정말 복잡하네;;;  초보자들을 위해 좀 쉽게 얘기 하면...
$g4_path = ".";  <-- 어쩌구에 들어가는 게 바로 아래에 대입됩니다..
include_once("$g4_path/common.php");

전 최상위 www.에  index.php를 만들어 주었으므로
위에 ./gnuboard4를 넣어주었습니다....

그러면 결국은  ./gnuboard4/common.php가 된단 소리 같아요....

이렇게 하니깐 보이긴 하는 걸 보니.... 여전히 헤더가 어쩌구 에러 뜨지만.... 잘 해결 봐야죠...에효...
전체 15 |RSS
그누4 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT