로그인 후 원래 위치로 되돌아 가기(모르는 분들을 위하여) > 그누보드5 팁자료실

그누보드5 팁자료실

로그인 후 원래 위치로 되돌아 가기(모르는 분들을 위하여) 정보

로그인 후 원래 위치로 되돌아 가기(모르는 분들을 위하여)

본문

처음 글을 써봅니다.
저처럼 php를 잘 모르는 쌩초보를 위한 글이니 너그러이 봐주시고
혹시나 보완할 점이나 더 좋은 방법이 있다면 저를 포함하여 다른분들을 위해서
댓글로 자세히 남겨주시면 감사하겟습니다.!!!


<!-- 로그인 버튼 시작 { -->
<?php
if($is_member){
	$href = G5_BBS_URL."/logout.php?url=".$_SERVER['REQUEST_URI'];
	$txt= "로그아웃";
}else{
    $href = G5_BBS_URL."/login.php?url=".G5_URL.$_SERVER['REQUEST_URI'];
    $txt = "로그인";
}

?>
<div id="loginBtn">
    <a class="global_login_btn" href="<? echo $href ?>"><? echo $txt ?></a>
</div>
<!-- } 로그인 버튼 종료 -->


예를 들어 로그인/아웃 버튼을 만든다고 가정 해봤습니다.

그럴때 get파라미터로 로그인 후에 이동할 페이지 값을 넘겨주는 것이 포인트 인데요.

그 파라미터가 $url 즉, $_GET['url'] 입니다.

주소표시줄에 있는 물음표 뒤에있는 값중에 url= 에 담겨있는 값을 가져 오는 거죠.

get방식 입니다.




그누보드를 설치하고 기본으로 사용하고 계시면 로그인 후에는 그냥 홈으로 가버리죠

그러나 그누보드 만드신 분들은 참으로 친절하셧습니다.

이미 그런것은 만들어 두셧죠.

/bbs/login.php 를 열어보면  $url = $_GET['url']; 이렇게 변수선언이 되어있습니다.

중간쯤에 보면 $login_url = login_url($url); 이런 구문이 보이는 데

/lib/common.lib.php 에 보시면 2300줄 쯤에 login_url() 이라는 함수가 있습니다.

이 함수가 $url을 판단을 합니다. 값이 없으면 홈으로 넘겨 버리게끔요.



마지막으로 $_SERVER['REQUEST_URI'] 이것은

주소표시줄에서 도메인만 제외하고 나머지 주소를 다 가져오는 함수(?) 입니다.

함수라는 명칭이 맞는건지 모르겟습니다.


추천
6

댓글 6개


$href = G5_BBS_URL."/login.php?url=".G5_URL.$_SERVER['REQUEST_URI'];

처럼 요청하시면 안되구요.

$href = G5_BBS_URL."/login.php?url=".urlencode(G5_URL.$_SERVER['REQUEST_URI']);

처럼 요청 하셔야 합니다.

기본적으로 http://가 포함되지 않는 주소만 작동하는 방식이라
그누 기본 변수를 이용 하여 수정된 내용

<!-- 로그인 버튼 시작 { -->
<?php
if($is_member){
	$href = G5_BBS_URL.'/logout.php?url='.$urlencode;
	$txt= "로그아웃";
}else{
    $href = G5_BBS_URL.'/login.php?url='.$urlencode;
    $txt = "로그인";
}
?>
<div id="loginBtn">
    <a class="global_login_btn" href="<?php echo $href; ?>"><?php echo $txt; ?></a>
</div>
<!-- } 로그인 버튼 종료 -->



저같은 경우는 다음과 같이 사용합니다.

<!-- 로그인 버튼 시작 { -->
<div id="loginBtn">
    <a class="global_login_btn" href="<?php echo ($is_member)?G5_BBS_URL.'/logout.php?url='.$urlencode:G5_BBS_URL.'/login.php?url='.$urlencode; ?>">로그<?php echo ($is_member)?'아웃':'인'; ?></a>
</div>
<!-- } 로그인 버튼 종료 -->
전체 2,432 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

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