programing

PHP에서 헤더("Location: " )가 있는 이전 페이지로 돌아갑니다.

goodsources 2023. 2. 6. 23:28
반응형

PHP에서 헤더("Location: " )가 있는 이전 페이지로 돌아갑니다.

이 질문의 제목이 제 질문을 설명해 줍니다.PHP 페이지 방문자를 이전 페이지로 리다이렉트하려면header( "Location: URL of previous page" );

시험:

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

이것은, 시큐어 페이지(HTTPS)에서는 동작하지 않는 경우가 있습니다.또, 헤더가 납치되어 유저가 다른 수신처에 송신될 가능성이 있기 때문에, 이것은 전체적으로 좋지 않은 생각입니다.헤더는 브라우저에서 전송되지 않을 수도 있습니다.

이상적으로는 다음 중 하나를 수행합니다.

  • 반환 주소를 쿼리 변수로 요청에 추가합니다(예: ?back=/list).
  • 코드에 반환 페이지를 정의합니다(즉, 모든 성공적인 폼 제출은 목록 페이지로 리디렉션됩니다).
  • 사용자에게 다음에 어디로 갈지 선택할 수 있는 옵션을 제공합니다(예:저장 후 편집을 계속하거나 저장만 가능)

아주 간단해 그냥 이걸 사용해

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

난 괜찮아

약간의 추가 사항:나는 이것이 일반적인 것으로 알려져 있다고 믿는다.exit;나머지 코드를 로드하거나 실행하지 않도록 하기 위해 헤더 함수 뒤에...

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

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

POST 폼이라고 하면 현재 위치를 숨김 필드에 입력한 후header()위치.

Javascript에서 다음을 시도해 보십시오.

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

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

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

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

세션 변수의 이전 URL을 폼의 숨김 필드에 저장하고 저장 헤더("Location: save URL of calling page") 후에 저장하지 않는 한,

이 질문은 특히 헤더에 초점을 맞추고 있는 것은 알고 있습니다만, 버튼 안에서 하고 싶은 사람이 있는 경우는 이것으로 충분합니다.

<button type="button" class="btn btn-default" onclick="javascript:history.go(-1)">Back</button>

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

반응형