메뉴 건너뛰기

프로그램언어

조회 수 22666 추천 수 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
번호 제목 날짜 조회 수
120 fileatime 파일에 최종적으로 접근한 시간을 반환 2016.12.23 18117
119 headers_sent 헤더 전송 여부를 확인 2016.12.23 19409
118 gd_info 사용 가능한 GD 라이브러리에 대한 정보를 배열로 반환 2016.12.23 17989
117 glob 현재 디렉토리에서 pattern에 일치하는 경로 이름을 배열로 반환 2016.12.23 19637
116 array_push 배열 끝에 하나 이상의 요소를 추가 2016.12.23 21604
115 quotemeta 모든 메타 문자앞에 역슬래쉬를 붙인 문자열을 반환 2016.12.23 20461
114 array_key_exists 배열에서 key가 존재하는지 확인 2016.12.23 22206
113 call_user_func 사용자가 정의한 함수를 호출하여 실행고자 할 때 사용 2016.12.23 21305
112 mysql_real_escape_string 이진 데이터를 입력할 경우 이 함수를 사용해야 함 2016.12.23 18640
111 class_exists 클래스가 정의되었는지 확인 2016.12.23 19881
110 ini_get - php.ini에 지정되어 있는 지시어의 값을 읽어온다 2016.12.23 19520
109 is_array — 변수가 배열인지 확인 2016.12.23 18048
108 mysql_affected_rows — 최근 MySQL 작업으로 변경된 행 개수를 얻음 2016.12.23 18807
107 parse_ini_file — Parse a configuration file 2016.12.23 19774
106 mysql_result — 결과 데이터를 반환 2016.12.23 18967
105 mysql_insert_id 2016.12.23 18752
104 implode — 문자열로 배열 원소를 결합 2016.12.23 19951
103 stripcslashes — addcslashes()로 인용한 문자열을 되돌림 2016.12.23 20458
102 stripslashes — 따옴표 처리한 문자열을 풉니다 2016.12.23 20486
101 addslashes — 문자열을 슬래시로 인용 2016.12.23 23083
Board Pagination Prev 1 ... 7 8 9 10 11 12 13 14 15 16 17 Next
/ 17

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved