2010-01-27 2 views
1

사이트에서 링크를 가져 오는 경우가 있습니다. 초대 링크를 클릭하면 해당 사이트에 로그인하지 않았으므로 로그인 용 색인 페이지로 보내집니다. 로그인이 끝나면 사이트에서 클릭 한 링크로 리디렉션됩니다.PHP로 로그인 한 후 리디렉션하는 방법

PHP에서 어떻게 구현할 수 있습니까?

+0

@ 타리 킷 좋은 답변을 얻으려는 희망으로 질문과 제목이 업데이트되었습니다. –

+0

덕분에 더그. – tarique

답변

5

"a.php"이라고하는 "도착 페이지"를 가정 해 봅시다.

  • 당신이 첫 번째 통화 a.php을 브라우저
    • a.php 당신이 그것을 index.php로 리디렉션
    • 로그인하지 않은 감지에서 매개 변수로, 여기 당신이 설명하고 일을의 가능한 방법이있다 URL이 index.php 일 때 a.php으로 리디렉션되어야합니다.
    • header 기능을 사용하여 리디렉션이 수행되고, Location 헤더가 somethin을 가리키는 경우 index.phphttp://yoursite.com/index.php?destination=a.php
  • 같은 g, 당신은 $_GET['destination']을 저장하는 숨겨진 필드로, 형태 즉 기록 된 mecanism
    • 처리 (제대로 물론, 탈출)
    • 해당 게시물은 index.php(즉 그 자체) 또는 다른 페이지; 별로 중요하지 않습니다.
  • 이 기록 된 형태로 게시하는 경우 : 로그인 + 암호를 확인하면
    • 당신은 자격 증명
    • 을 확인하십시오
      • 형태의 데이터의 destination 필드가있는 경우, 사용자를 해당 페이지로 리디렉션
      • 다른 경우 사용자를 기본 페이지로 리디렉션합니다.
      • 물론 destination 필드의 내용을 확인하여 "유효한"페이지 에만 리디렉션을 허용하는지 확인하는 것이 좋습니다 ("유효"의 정의가 변경 될 수 있지만 적어도 의미는있을 수 있음).) "사이트에 페이지는"
    • 또한 시도 할 수 있습니다
1

...

start_session(); 
$_SESSION[destination] = strip_tags($_GET[destination]); 

..as는 전화를 반대 변수를 숨겨진 필드로 지정하십시오. 그런 다음 POST (필요한 체크 기능)에서 체크를 수행하십시오.

관련 문제