>  기사  >  백엔드 개발  >  PHP 로그인 후 이전 페이지로 리디렉션하는 방법은 무엇입니까?

PHP 로그인 후 이전 페이지로 리디렉션하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-01 00:59:01458검색

How to Redirect to Previous Page After Login in PHP?

로그인 후 이전 페이지로 리디렉션

로그인 성공 후 사용자를 원하는 목적지로 리디렉션할 수 없다는 점은 실망스러운 장애물이 될 수 있습니다. 특정 기술을 통합하고 잠재적인 함정을 처리함으로써 이 문제를 효과적으로 해결할 수 있습니다.

해결책: $_GET 변수 활용

일반적인 접근 방식은 $ _GET 변수는 사용자의 현재 페이지를 캡처합니다. 로그인 페이지로 리디렉션할 때 이 변수를 추가하면 스크립트가 인증 성공 후 원하는 대상을 검색할 수 있습니다. 예를 들어, 사용자가 기사를 읽고 댓글을 남기려고 하면 댓글 섹션의 URL(예: comment.php?articleid=17)이 $_GET 변수를 통해 로그인 페이지에 전달되어야 합니다.

구현:

코드에서 제공됨:

  1. login.php: 현재 페이지를 $_GET 매개변수로 사용하여 로그인 페이지로 사용자를 보냅니다:

    header("Location:login.php?location=" . urlencode($_SERVER['REQUEST_URI']));
  2. login-check.php: 다음에서 도착 URL을 검색하세요. $_POST['location'] 변수:

    $redirect = NULL;
    if($_POST['location'] != '') {
     $redirect = $_POST['location'];
    }
  3. 로그인에 성공하면 사용자를 대상 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();
    }

주의사항:

  • 도착 URL 확인: 도착 URL 확인 안전하고 악성코드가 포함되어 있지 않습니다. content.
  • urlencode 사용: 특수 문자를 올바르게 처리하려면 URL을 $_GET 매개변수로 전달할 때 urlencode()를 사용하세요.

위 내용은 PHP 로그인 후 이전 페이지로 리디렉션하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.