테스트 사이트 - 개발 중인 베타 버전입니다

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

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

[code]
<!-- 로그인 버튼 시작 { -->
<?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>
<!-- } 로그인 버튼 종료 -->
[/code]

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

그럴때 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개

단순하지만 매우 유용한 정보입니다. ^^ 춛현!!!
추천까지 주시다니 감사합니다 ^^
[code]
$href = G5_BBS_URL."/login.php?url=".G5_URL.$_SERVER['REQUEST_URI'];
[/code]
처럼 요청하시면 안되구요.
[code]
$href = G5_BBS_URL."/login.php?url=".urlencode(G5_URL.$_SERVER['REQUEST_URI']);
[/code]
처럼 요청 하셔야 합니다.

기본적으로 http://가 포함되지 않는 주소만 작동하는 방식이라
그누 기본 변수를 이용 하여 수정된 내용
[code]
<!-- 로그인 버튼 시작 { -->
<?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>
<!-- } 로그인 버튼 종료 -->
[/code]


저같은 경우는 다음과 같이 사용합니다.
[code]
<!-- 로그인 버튼 시작 { -->
<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>
<!-- } 로그인 버튼 종료 -->
[/code]

게시글 목록

번호 제목
24318
24317
24315
24309
24294
24293
24277
24262
24260
24253
24251
24236
24233
24228
24226
24221
24214
24203
24201
24199
24196
24195
24194
24192
24191
24187
24185
24183
24172
24168