로그인 후 이전 페이지로 리디렉션
로그인 성공 후 사용자를 원하는 목적지로 리디렉션할 수 없다는 점은 실망스러운 장애물이 될 수 있습니다. 특정 기술을 통합하고 잠재적인 함정을 처리함으로써 이 문제를 효과적으로 해결할 수 있습니다.
해결책: $_GET 변수 활용
일반적인 접근 방식은 $ _GET 변수는 사용자의 현재 페이지를 캡처합니다. 로그인 페이지로 리디렉션할 때 이 변수를 추가하면 스크립트가 인증 성공 후 원하는 대상을 검색할 수 있습니다. 예를 들어, 사용자가 기사를 읽고 댓글을 남기려고 하면 댓글 섹션의 URL(예: comment.php?articleid=17)이 $_GET 변수를 통해 로그인 페이지에 전달되어야 합니다.
구현:
코드에서 제공됨:
login.php: 현재 페이지를 $_GET 매개변수로 사용하여 로그인 페이지로 사용자를 보냅니다:
header("Location:login.php?location=" . urlencode($_SERVER['REQUEST_URI']));
login-check.php: 다음에서 도착 URL을 검색하세요. $_POST['location'] 변수:
$redirect = NULL; if($_POST['location'] != '') { $redirect = $_POST['location']; }
로그인에 성공하면 사용자를 대상 URL 또는 기본 페이지로 리디렉션합니다(아무것도 없으면 지정):
if(isset($_SESSION['id_login'])) { // if login is successful and there is a redirect address, send the user directly there if($redirect) { header("Location:". $redirect); } else { header("Location:login.php?p=3"); } exit(); }
주의사항:
위 내용은 PHP 로그인 후 이전 페이지로 리디렉션하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!