로그인 후 원래 위치로 되돌아 가기(모르는 분들을 위하여) 정보
로그인 후 원래 위치로 되돌아 가기(모르는 분들을 위하여)관련링크
본문
처음 글을 써봅니다.
저처럼 php를 잘 모르는 쌩초보를 위한 글이니 너그러이 봐주시고
혹시나 보완할 점이나 더 좋은 방법이 있다면 저를 포함하여 다른분들을 위해서
댓글로 자세히 남겨주시면 감사하겟습니다.!!!
예를 들어 로그인/아웃 버튼을 만든다고 가정 해봤습니다.
그럴때 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'] 이것은
주소표시줄에서 도메인만 제외하고 나머지 주소를 다 가져오는 함수(?) 입니다.
함수라는 명칭이 맞는건지 모르겟습니다.
저처럼 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
댓글 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>
<!-- } 로그인 버튼 종료 -->
감사합니다~
감사합니다~