2003년 1월 8일 이후 
모두 명  오늘 명 
메인 페이지  
칼럼 보기  
카툰 보기  
게시판 가기  
사이트맵  
그밖의 것들  

가입하면 정말 편합니다;;
자유 게시판
질답 게시판
유용한 정보
 

Boards
유용한 정보
나중에 보고싶어서 찾아헤맬 것들을 미리 모아두는 곳
(건망증이 심한 저를 위한.....)

 팝업 로그인 만들기  
 리디  posted at 2005-09-07 06:50:15
17001 hits  1 comments
 http://reedyfox.com/fox NeWin reedyfox is level 38  llllllllll 
 퍼머링크 : http://reedyfox.com/island.php/later/85  [복사]

일반적으로 아웃로그인(외부로그인) 단추는 헤더 파일에 넣어서 모든 페이지로부터 인클루드 하는 식으로 만듭니다. 풋터 파일에 넣으면 제로보드의 버그 때문에 변수가 전달이 안 되는 문제점이 있습니다. 여기에서는 다음과 같이 가정합니다.

① 제로보드는 bbs 라는 이름의 디렉토리에 설치되어 있다.
② 헤더파일의 이름은 header.php 이며 main 이라는 디렉토리에 들어 있다.

만약 풋터 파일에 아웃로그인을 넣으시겠다면 반드시 다음새창으로 열기 링크를 참고하시기 바랍니다.


1) 다음과 같은 내용의 파일을 만들고 이름을 login.php 로 하여 main 이라는 디렉토리에 저장합니다.

<?php
   $_zb_url = "제로보드가 설치된 url/";
   $_zb_path = "제로보드가 설치된 절대경로/";
   include $_zb_path."outlogin.php";
?>
<html>
<head>
<title>로그인</title>
<script>
function loading() {
  document.zb_login.foxlogin.value='1';
  document.zb_login.user_id.focus();
}
</script>
</head>
<body onload="loading();">
<?php print_outlogin("아웃로그인스킨이름", 그룹번호, 허용레벨) ?>
</body>
</html>



2) 제로보드 디렉토리의 login_check.php 파일을 열어보면 42행쯤에서 다음과 같은 부분을 찾을 수 있습니다.

// 로그인 후 페이지 이동
$s_url=urldecode($s_url);
if(!$s_url&&$id) $s_url="zboard.php?id=$id";
if($s_url) movepage($s_url);
elseif($id) movepage("zboard.php?id=$id&page=$page&page_num=$page_num&select_arrange=$select_arrange&desc=$des&sn=$sn&ss=$ss&sc=$sc&keyword=$keyword&category=$category&no=$no");
elseif($group[join_return_url]) movepage($group[join_return_url]);
elseif($referer) movepage($referer);
else echo"<script>history.go(-2);</script>";


이것을 다음과 같이 추가해 주십시오.

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

// 로그인 후 페이지 이동
$s_url=urldecode($s_url);
if(!$s_url&&$id) $s_url="zboard.php?id=$id";
if($s_url) movepage($s_url);
elseif($id) movepage("zboard.php?id=$id&page=$page&page_num=$page_num&select_arrange=$select_arrange&desc=$des&sn=$sn&ss=$ss&sc=$sc&keyword=$keyword&category=$category&no=$no");
elseif($group[join_return_url]) movepage($group[join_return_url]);
elseif($referer) movepage($referer);
else echo"<script>history.go(-2);</script>";
} // ← 이거 빼먹지 말 것~!




3) 다음은 아웃로그인 스킨을 수정할 차례입니다. 위에서 빨갛게 표시된 부분 기억나시나요? 그 스킨을 수정해야 합니다. 아웃로그인 스킨은

bbs/outlogin_skin/스킨이름


이 경로로 찾아가시면 됩니다. 이 아웃로그인 스킨 디렉토리 안에 들어가 보면 login.html 이라는 파일이 있습니다. 거기에 다음과 같은 부분이 있습니다.

<input type=hidden name=s_url value="[s_url]">


그 아래에 다음과 같이 한 줄 추가해주세요.

<input type=hidden name=s_url value="[s_url]">
<input type='hidden' name='foxlogin'>




4) 맨 처음에 언급되었던 header.php 를 꾸밀 시간입니다. 아웃로그인을 사용하기 위해서는 당연히

<?php
   $_zb_url = "제로보드가 설치된 url/";
   $_zb_path = "제로보드가 설치된 절대경로/";
   include $_zb_path."outlogin.php";
?>


이 소스를 넣어야겠죠. 파일 맨 위에, 한 번만 적어주시면 됩니다.
그리고 팝업로그인 단추를 넣을 곳에 다음 소스를 삽입합니다.

<?php
if(!$member[no]) {
    echo "<a href='javascript:;' onClick=\"window.open('login.php','login','width=300,height=250');\">Login</a>  ";
    echo "<a href='javascript:;' onclick=\"window.open('../bbs/member_join.php?group_no=1','zbMemberJoin','width=560,height=590,toolbars=no,resizable=yes,scrollbars=yes')\">Join</a>";
} else {
    print_outlogin("아웃로그인스킨이름", 그룹번호, 허용레벨);
}
?>


살펴봅시다.

① 경로에 주의하세요. login.php는 header.php와 같은 디렉토리(main)에 저장하는 것으로 가정했기 때문에 별도의 경로를 적어주지 않았습니다. 반면 member_join.php는 bbs 디렉토리에 있는 제로보드 파일이므로 경로가 조금 길어졌습니다. 페이지가 안뜬다는 에러가 나면 일단 경로가 맞는지부터 의심해보세요.

② 팝업창의 크기는 알아서 조절하시면 됩니다. (width, height)

③ group_no=1 은 회원가입시 어느 그룹으로 가입할 거냐 하는 거죠. 대부분 1번이지만 혹시 또 모르니 말씀 드리는 겁니다.

④ print_outlogin 부분은 위에서 적어주셨던 거랑 똑같이 적어주시면 됩니다.

⑤ Login, Join이라는 단어는 취향에 맞게 바꿔주시면 됩니다. 예를 들어, '로그인', '가입하기' 이렇게요.

  PRINT Text  PRINT HTML  

  Trackbacks for this Posting (0)
'생각하는섬 바닷가 - 팝업 로그인 만들기'

LIST ALL               GO TO THE TOP

- 이글 위에 있는 글 : 눈보라를 뚫고 00 - 표지
- 이글 아래 있는 글 : 랜덤 배너 뽑기의 '가나다'

Copyright 1999-2017 Zeroboard

 
생각하는 섬, 바닷가는 리디가 운영하는 개인 칼럼 사이트이며 일부 컨텐츠는 리디 외의 필진에 의해 작성되었습니다. 이곳의 모든 컨텐츠는 출처(Deep Link URL) 및 작가를 명시하는 조건으로 비상업적 용도의 전제/복제가 가능합니다. 그러나 이곳에 게재된 컨텐츠의 취지 또는 작가의 의도가 왜곡되어 해석될 수 있는 컨텐츠 변형은 금지합니다. 이곳에 기재된 전자우편주소에 대한 일체의 수집행위를 거부합니다.(게시일 2008년 1월 1일)
Google
  임시 수정  
Window close