📖
그누보드5 로그인 후 현재 페이지를 유지하기
페이지 정보
본문
skin/member/basic/login.skin.php 15줄 근처
<input type="hidden" name="url" value="<?php echo $login_url ?>">
를 아래 소스로 교체[code]<?php
$redirect_url = $_SERVER['HTTP_REFERER'] ?? $login_url; // PHP 7 이상
?>
<input type="hidden" name="url" value="<?php echo htmlspecialchars($redirect_url, ENT_QUOTES, 'UTF-8'); ?>">[/code]🔑 정리:
그누보드5 $login_url : 기본 로그인 후 이동할 페이지.
HTTP_REFERER : 사용자가 로그인 버튼을 누르기 직전 보던 페이지.
폼에서 hidden input : HTTP_REFERER 있으면 사용, 없으면 $login_url.
이렇게 해두면 "원래 있던 페이지 → 로그인 → 다시 원래 페이지" 흐름이 자연스럽게 유지됩니다.
즉, $_SERVER['HTTP_REFERER'] 값이 있으면 그걸 쓰고, 없으면 $login_url
PHP 7 이하에서는 null 병합 연산자를 쓸수 없으니까 isset() 삼항연산자로 처리하면 됩니다.[code]<?php
$redirect_url = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : $login_url;
?>
<input type="hidden" name="url" value="<?php echo htmlspecialchars($redirect_url, ENT_QUOTES, 'UTF-8'); ?>">[/code]👉 이렇게 하면
$_SERVER['HTTP_REFERER'] 값이 있으면 → 그 값 사용
없으면 → $login_url 값 사용
<input type="hidden" name="url" value="<?php echo $login_url ?>">
를 아래 소스로 교체[code]<?php
$redirect_url = $_SERVER['HTTP_REFERER'] ?? $login_url; // PHP 7 이상
?>
<input type="hidden" name="url" value="<?php echo htmlspecialchars($redirect_url, ENT_QUOTES, 'UTF-8'); ?>">[/code]🔑 정리:
그누보드5 $login_url : 기본 로그인 후 이동할 페이지.
HTTP_REFERER : 사용자가 로그인 버튼을 누르기 직전 보던 페이지.
폼에서 hidden input : HTTP_REFERER 있으면 사용, 없으면 $login_url.
이렇게 해두면 "원래 있던 페이지 → 로그인 → 다시 원래 페이지" 흐름이 자연스럽게 유지됩니다.
즉, $_SERVER['HTTP_REFERER'] 값이 있으면 그걸 쓰고, 없으면 $login_url
PHP 7 이하에서는 null 병합 연산자를 쓸수 없으니까 isset() 삼항연산자로 처리하면 됩니다.[code]<?php
$redirect_url = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : $login_url;
?>
<input type="hidden" name="url" value="<?php echo htmlspecialchars($redirect_url, ENT_QUOTES, 'UTF-8'); ?>">[/code]👉 이렇게 하면
$_SERVER['HTTP_REFERER'] 값이 있으면 → 그 값 사용
없으면 → $login_url 값 사용
댓글목록
등록된 댓글이 없습니다.
![]() ![]() |