메뉴 건너뛰기

프로그램언어

조회 수 22662 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
게시판 글쓰기를 눌렀는데 로그인 페이지로 이동 해서 로그인후 자동으로 방금 글쓰기를 할려고 하던 페이지로 이동하도록 처리 하고 싶다면 리턴URL 값을 urlencode로 넘겼다가 다시 받는 방식을 이용하면 됩니다.
* 글쓰기 페이지
<?
//현재 페이지 URL을 만듭니다.
//아래 결과 : /board/write.php?page=
$rurl = urlencode($_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']);
if(로그인확인) {
//로그인이 안된경우 로그인 페이지 이동
//아래 결과 : <script>location.href='/member/login.php?rurl=%2Fboard%2Fwrite.php%3Fpage%3D';</script>
echo "<script>location.href='/member/login.php?rurl=$url';</script>";
}
?>
* 로그인페이지
<form>
<input type="text" name="id">
<input type="text" name="pw">
<input type="hidden" name="rurl" value="<?=$rurl?>">
</form>
//$url : %2Fboard%2Fwrite.php%3Fpage%3D
* 로그인 처리 페이지
//로그인 처리 후 페이지 이동전
$rurl = urldecode($rurl);
if(isset($rurl)) {
echo "<script>location.href='$rurl';</script>";
}
복잡해 보일수도 있으나 간단하죠!
로그인 페이지로 이동할때 현재 페이지 URL을 변수에 담아서 보내었다가 로그인 처리페이지에서 넘겨 받은 로그인전 페이지 값이 있으면 해당 페이지로 이동.
여기시 urlencode를 사용하는 이유는 위 처럼 post방식에선 필요성이 없으나 간혹 링크 방식으로 보낼경우 뒤에 붙은 변수값이 마치 처리페이지 변수값으로 넘어 가는걸 방지하기 위함입니다.
예)
<?
$url = $_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'];
?>
<a href="/login.php?rurl=<?=$rurl?>">로그인</a>
예처럼 처리할 경우 결과는?
<a href="/login.php?rurl=/board/write.php?page=1&table=book">로그인</a>
이렇게 넘어갈 경우 table=book이라는 값은 로그인 처리후 넘겨 주지 못하게 됩니다.
따라서 urlencode, urldecode를 사용하는 것입니다.
도움이 되셨는지 모르겠네요 ^^

List of Articles
번호 제목 날짜 조회 수
220 JSON and JavaScript usage 2014.03.26 19064
219 자릿수만큼 앞에 0 붙이기 2017.03.07 19027
218 링크를 걸때 http 처리방법 2016.12.23 19019
217 정규 표현식 검색과 치환 (preg_replace) 2016.12.23 19012
216 디렉토리 안의 파일의 내용들을 읽는 예 2016.12.23 19012
215 mysql_result — 결과 데이터를 반환 2016.12.23 18958
214 문자열 뒤집기 (strrev) 2016.12.23 18950
213 문자열 찾기 (strstr) 2016.12.23 18907
212 도메인 앞에 자동으로 WWW를 붙이는 방법 2017.03.07 18885
211 문자열 추출하기 (substr) 2016.12.23 18867
210 두 날짜 사이의 차이 구하기 2017.03.07 18866
209 로그인페이지에서 온 경우/로그인한 페이지로 이동 2016.12.23 18847
208 문자열 치환 (str_replace) 2016.12.23 18812
207 mysql_affected_rows — 최근 MySQL 작업으로 변경된 행 개수를 얻음 2016.12.23 18806
206 mysql_insert_id 2016.12.23 18750
205 네이버 지도 API 연동 PHP 소스 2017.03.06 18635
204 mysql_real_escape_string 이진 데이터를 입력할 경우 이 함수를 사용해야 함 2016.12.23 18635
203 PHP 날짜/시간 정리 2017.03.07 18629
202 오류 메시지 출력(alert) 및 페이지 이동(refresh) 관련 2017.03.06 18568
201 잡다한 php 2017.03.06 18502
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 17 Next
/ 17

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved