새창으로 로그인 띄워 로그인하기. > 그누4 팁자료실

그누4 팁자료실

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

새창으로 로그인 띄워 로그인하기. 정보

새창으로 로그인 띄워 로그인하기.

본문

이 팁이 아무리 찾아봐도 없길래, 고생한 결과를 올려봅니다.^^;
우선, 그누4에 기본적으로 만들어져 있는 로그인 링크가 맨위 상단에 있는데,
그걸 이용하면 쉽게 해결할수 있습니다.

[ 로그인 글자를 누르면 팝업창(새창)이 뜨게 만들자.]

로그인 링크부분을 수정하려면 head.php 파일을 열어야 합니다.
경로는 각자 다를지도 모르겠지만, 기본적으로 /gnuboard4/ 라는 경로에 index.php 파일과 함께있습니다. 잘 모르시겠으면, LICENSE 파일을 찾아보세요~ 같은곳에 들어있습니다.^^;

head.php 파일을 연후, 51번째줄 부분에

            <!-- 로그인 이전 -->
            <td width="78"><a href="<?=$g4[bbs_path]?>/login.php?url=<?=$urlencode?>"><img src="<?=$g4[path]?>/img/top_m02.gif" width="78" height="31" border="0"></a></td>

이부분을 찾아주세요. 찾으셨으면 아래의 소스로 교체해주세요.

<!-- 로그인 이전 -->
            <td width="78"><a onfocus=blur() href="javascript:popup_window('<?=$g4[bbs_path]?>/login.php?url=<?=$urlencode?>','junlogin','left=50, top=50, width=700, height=500, scrollbars=no');"><img src="<?=$g4[path]?>/img/top_m02.gif" width="78" height="31" border="0"></a></td>

여기서 팝업창의 위치와 크기를 조절하는 부분은 'left=50, top=50, width=700, height=500, <--이부분이고 여기서는 스크로바가 뜨지 않게 막아놨는데,
스크롤바가 혹시라도 필요하시면, scrollbars=no' <-- 이부분을  scrollbars=1' 로 고쳐주시면 됩니다.


[로그인후 팝업창이 사라지면서 메인화면이 새로고침 되게 해보자~]

이번에는 ../bbs/ 경로에 있는 login_check.php 파일을 찾아 연후, 54번째 줄 아래와 같은 부분을 찾습니다.

if ($url)
{
    $link = urldecode($url);
    // 2003-06-14 추가 (다른 변수들을 넘겨주기 위함)
    if (preg_match("/\?/", $link))
        $split= "&";
 
..... 중략...

찾으셨으면, if ($url) <-- 이부분 바로 앞에 아래의 소스를 넣어줍니다.

if($junlogin=="1") {
echo ("
<script>
    window.close(); //창닫기
    opener.history.go(0); //부모창 리플래쉬
    opener.focus(); //부모창 포커스
</script>
");
} else

주의 하실점은 위의 소스 } else 와 if ($url) 의 연결 부분을 주의 하세요. 제대로 넣으셨으면 아래와 같아지겠죠?!

if($junlogin=="1") {
echo ("
<script>
    window.close(); //창닫기
    opener.history.go(0); //부모창 리플래쉬
    opener.focus(); //부모창 포커스
</script>
");
} else if ($url)
{
    $link = urldecode($url);
    // 2003-06-14 추가 (다른 변수들을 넘겨주기 위함)
    if (preg_match("/\?/", $link))
        $split= "&";
 
..... 중략...


[로그인 팝업창이 열렸을때 팝업창안에 내용물을 보여지게 해보자.]

/bbs/ 경로내의 login.php 파일을 연후, 맨마지막 부분의 아래의 소스를 찾습니다.

include_once("$member_skin_path/login.skin.php");

include_once("./_tail.php");
?>

찾으셨으면, 아래의 소스를 복사하여 위에 소스 부분에 덮어씌우세요.

?>
<html>
<head>
<title>로그인새창</title>

<script>
    function loading() {
      document.flogin.junlogin.value='1';
      document.flogin.user_id.focus();
    } 
</script>
</head>
<body onload="loading();">
<?
include_once("$member_skin_path/login.skin.php");
?>
</body>
</html>

제대로 연결하셨다면, 아래와 같이 되겠죠?!

<?
include_once("./_common.php");

$g4[title] = "로그인";


// 이미 로그인 중이라면
if ($member[mb_id])
{
    if ($url)
        goto_url($url);
    else
        goto_url($g4[path]);
}

if ($url)
    $urlencode = urlencode($url);
else
    $urlencode = urlencode($_SERVER[REQUEST_URI]);

$member_skin_path = "$g4[path]/skin/member/$config[cf_member_skin]";

?>
<html>
<head>
<title>로그인새창</title>

<script>
    function loading() {
      document.flogin.junlogin.value='1';
      document.flogin.user_id.focus();
    } 
</script>
</head>
<body onload="loading();">
<?
include_once("$member_skin_path/login.skin.php");
?>
</body>
</html>

[로그인 새창에 불러들여진 로그인스킨과 연결하자]

/skin/member/basic/ 경로내의 login.skin.php 파일을 열어, 7번째줄 아래와 같은 소스부분을 찾아보세요...

<input type="hidden" name="url" value='<?=$urlencode?>'>

찾으셨으면, 위의 소스 바로 밑에다가 아래의 소스를 붙혀주세요.

<input type='hidden' name='junlogin'>

이렇게 함으로써,  마지막까지 마무리가 되었습니다.^^

현재 제가 로그인 새창에 불러들인 스킨은 그누4에 기본제공되는 basic 스킨입니다.
스킨내용이나 글자모양, 그밖의 스타일을 바꾸는건 자신의 몫이니 직접 편집해주세요.

위의 소스들을 잘 보시면 아시겠지만, 서로 연결해주는 연결이름은 'junlogin'으로 되어있습니다.
이건 자신이 임의로 바꾸실수 있으나, 다른 소스의 명령어와 겹쳐지지 않도록 해주세요...


이 팁은 원래 제로보드의 리디님이란 분의 설명을 토대로 그누보드4에 맞춰봤습니다.
(아래링크는 원작자의 원래 소스설명입니다. 어떤 원리로 되어있는지 자세히 나와있습니다.)
http://www.nzeo.com/bbs/zboard.php?id=cgi_tip&page=2&sn1=&divpage=1&sn=on&ss=off&sc=off&keyword=리디&select_arrange=headnum&desc=asc&no=4458


일단, 제가 직접 테스트해 보았으니, 오타나 빼먹은 부분이 없으면 잘 될거라 봅니다.^^
추천
2
  • 복사

댓글 16개

정말 감사합니다.

저한데 필요한 팁이네요 ^^

-----------------------------------------------
ㅡ.ㅡ;; 허걱
 
그런데 적용후에 head.sub.php
44 line ~ 50 line 까지 오류 메세지 뜨네요 ㅡㅡ;;

이런..
g4 경로에서는 잘되는데..g4위 경로에서 htm파일에서 팝업창 띄우기 연결하니
팝업창 자체에서 팝업창 클리어하고..부모창을 팝업창에 띄우네요.
잘 되지않아 님의 도움이 필요합니다.
힘드시겠지만 도움을 주세요..수고하세요
© SIRSOFT
현재 페이지 제일 처음으로