메뉴 건너뛰기

프로그램언어

조회 수 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
번호 제목 날짜 조회 수
180 방금 INSERT 했던 SQL 문의 PK(primary key)값 가져오기 2018.07.04 5335
179 PHP 휴대폰번호 짜르기 (preg_replace) "-" 넣기. 형식바꾸기 2018.07.04 4057
178 [이클립스]PHP 개발환경 만들기 file 2018.07.04 7939
177 MySQL(MariaDB) 테이블 만들기 2018.03.28 8152
176 PHP 네이버블로그 원격 글쓰기 API 소스 file 2018.02.09 12465
175 PHP에서 암호화 encrypt 복호화 decrypt 해서 값을 넘기기 2018.02.09 10626
174 base64 인코딩/디코딩 함수의 특징 file 2018.02.09 13078
173 PHP 날짜 함수 2017.04.13 17673
172 PHP, $_SERVER 변수 2017.04.13 19505
171 정규식 2017.04.13 17599
170 파일시스템, 폼 파일업로드 관련 함수 2017.03.27 21681
169 네이버 자동 띄어쓰기를 이용하기 2017.03.27 17940
168 php 엑셀 다운로드 구현 2017.03.07 29786
167 두 날짜 사이의 차이 구하기 2017.03.07 18866
166 날짜 일수 차이 계산 2017.03.07 19977
165 php 세션 유지시간 늘리기 2017.03.07 26315
164 리다이렉션(페이지 이동)의 3가지 방법, location.href 2017.03.07 40129
163 자릿수만큼 앞에 0 붙이기 2017.03.07 19026
162 세션 시작 / 세션 데이터 추가 / 세션 데이터 삭제 / 세션 종료하기 2017.03.07 19102
161 도메인 앞에 자동으로 WWW를 붙이는 방법 2017.03.07 18885
Board Pagination Prev 1 ... 4 5 6 7 8 9 10 11 12 13 ... 17 Next
/ 17

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved