2014-02-09 3 views
0

기본적으로 TOS에 동의 할 때까지 내 사용자가 다음 페이지에 액세스 할 수 없도록하고 싶지만 TOS를 수락하기위한 스크립트를 사용하는 경우에도 사용자는 여전히 "example.com/nextpage"를 입력하여 고맙습니다. 그렇다면 리디렉션되는 페이지의 URL을 표시하지 않고 사용자가 약관에 동의 한 후 다른 페이지로 리디렉션 할 수있는 방법이 있습니까?PHP 리디렉션에서 동일한 URL을 표시하는 방법이 있습니까?

감사합니다,

+0

은 물론, 다음 않는 형태로 동의 체크 박스를 넣어 'header ("Location : nextpage.php")'는 리디렉션하지만 체크 박스가 체크 된 경우에만 –

+1

세션에 수용을 저장합니다. 'nextpage'는 그 세션 값을 확인하고 그들이 공식 승인 프로세스를 아직 거치지 않았다면 다시 보냅니다. –

+0

예, 있습니다. 그러나 TOS에 동의하지 않는 사람들과 URL을 공유하지 못하게하려면 어떻게해야합니까? 세션을 사용하고 서비스 약관 동의를 저장하고 아직 동의하지 않은 사용자는 해당 페이지로 다시 리디렉션하지 마세요. '더 이상 가지 말 것'을 필터링하지 말고, '여기에 있으면 안됩니다'를 필터링하십시오. – Wrikken

답변

1

번호

그러나, 당신은 단순히 같은 페이지를 다시로드, 그들의 계약을 기록하는 쿠키를 설정할 수 있습니다.

귀하의 페이지가 동의가 설정된 쿠키를 찾으면 일반 페이지를 렌더링합니다. 그렇지 않은 경우 ToS 양식을 렌더링합니다.

이것은 당신이 shortcutted하지 않고 서비스 약관 계약을 시행 할 수 있습니다 (누군가가 수동으로 자신에게 쿠키를 할당하지 않는 한,하지만 지금까지 대부분의 사용자 넘어)

+0

글쎄, 그들은 쿠키를 자신에게 할당 할 수는 있지만 제대로하면 쿠키 자체가 동의했다고 말하지 않습니다. 세션 ID와 비슷할 것입니다. 그러면 세션 ID가 "동의합니다"를 클릭 한 사용자에게 속하는지 확인했는지 데이터베이스에 저장/체크인 할 수 있습니다. – Andrejovich

관련 문제