Programming

header (“Location :”)가있는 이전 페이지로 돌아 가기

procodes 2020. 7. 26. 14:00
반응형

header (“Location :”)가있는 이전 페이지로 돌아 가기 PHP에서


이 질문의 제목은 내 질문을 설명합니다. 을 사용하여 PHP 페이지 방문자를 이전 페이지로 다시 리디렉션하는 방법header( "Location: URL of previous page" );


시험:

header('Location: ' . $_SERVER['HTTP_REFERER']);

이것은 보안 페이지 (HTTPS)에서 작동하지 않을 수 있으며 헤더를 하이재킹하여 사용자를 다른 대상으로 보낼 수 있기 때문에 전반적으로 매우 나쁜 생각입니다. 브라우저가 헤더를 보내지 못할 수도 있습니다.

이상적으로는 다음 중 하나를 원할 것입니다.

  • 요청에 반환 주소를 쿼리 변수로 추가합니다 (예 :? back = / list)
  • 코드에서 리턴 페이지를 정의하십시오 (예 : 모든 성공적인 양식 제출은 리스팅 페이지로 리디렉션 됨)
  • 사용자에게 다음에 가고 싶은 위치 옵션을 제공하십시오 (예 : 저장 후 편집 계속 또는 저장)

너무 간단합니다.

header("location:javascript://history.go(-1)");

그것은 나를 위해 잘 작동


어떻게 든 그 위치를 저장해야합니다.

POST 양식이라고 가정하면 현재 위치를 숨겨진 필드에 넣고 위치에서 사용하십시오 header().


약간의 추가 사항 : exit;나머지 코드를로드하거나 실행하지 않으려는 경우 헤더 함수 다음 에 추가하는 것이 일반적이며 알려진 것입니다 ...

header('Location: ' . $_SERVER['HTTP_REFERER']);
exit;

Javascript에서 이것을 시도하십시오.

 $previous = "javascript:history.go(-1)";

또는 PHP로 시도해 볼 수 있습니다.

if(isset($_SERVER['HTTP_REFERER'])) {
    $previous = $_SERVER['HTTP_REFERER'];
}

사용자가 여러 페이지를 마우스 오른쪽 단추로 클릭 한 다음 되돌아 와서 저장하기 때문에 세션 변수에 이전 URL을 저장하는 것은 좋지 않습니다.

세션 변수의 이전 URL을 양식의 숨겨진 필드에 저장하고 헤더 저장 후 ( "위치 : 호출 페이지의 URL 저장");

참고 URL : https://stackoverflow.com/questions/5285031/back-to-previous-page-with-header-location-in-php

반응형