당신은 이것을 위해 javascript를 사용할 수 있습니다. jQuery가 포함되어 있는지 확인하십시오.
홈페이지 및 방문 페이지에서 다음과 같은 헬퍼 기능을 사용하여 쿠키가 존재하는지 확인하고 작성하는 두 페이지에 포함 된 글로벌 자바 스크립트 파일에 다음을 추가하십시오.
<script>
function create_cookie(name, value, days) {
var expires = "";
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days*24*60*60*1000));
expires = "; expires=" + date.toGMTString();
}
document.cookie = name + "=" + value + expires + "; path=/";
}
function get_cookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) === ' ') {
c = c.substring(1, c.length);
}
if (c.indexOf(nameEQ) === 0) {
return c.substring(nameEQ.length, c.length);
}
}
return null;
}
</script>
는 기본적으로 쿠키 'form_submitted'가 존재하는 경우 다음 방문 페이지로 사용자를 리디렉션하지 않을 경우 확인합니다 홈페이지에 다음 스크립트를 포함합니다. 양식의 제출이 발생하는 경우가 쿠키를 생성하고, 따라서 다음 번에 사용자가 간다에 대한
<script>
// Redirect to landing page if 'form_submitted' cookie does not exist
if (get_cookie('form_submitted') === 'undefined') {
window.location.href = "http://xxx.com/landing-page";
}
</script>
및 방문 페이지에
, 당신은 청취 이벤트를 결합 다음과 같은 자바 스크립트를 추가해야합니다 홈페이지로 연결되면 리디렉션되지 않습니다.
<script>
jQuery(document).ready(function($) {
// Listen for the form submit event
$('#form-id').on('submit', function(){
// Create cookie so that the user is no longer redirected
create_cookie('form_submitted', 'true', 30);
});
});
</script>
이 정보가 도움이되기를 바랍니다. 행운을 빕니다! =)
편집 : 내 답변을 쓰는 동안 원래 게시물에 남겨진 의견을 읽은 것입니다. 단지 내가 추가 한 create_cookie 함수를 사용하여 쿠키가 만료되기 전에 나의 예제에서 30 일을 전달할 수 있도록 허용하기를 원한다. 그래서 쿠키를 만료 시켜서 오래도록 만들 수있다.
분명히 자바 스크립트 쿠키에는 사람들이 브라우저 쿠키를 삭제할 위험이 있지만 로그인하지 않은 사용자는 이와 같은 것을 추적 할 수있는 다른 방법이 없습니다. 사용자가 제거 할 수없는 것보다 안전 할 수있는 것은 무엇입니까? 서버에 저장된 PHP 세션이지만 이보다 더 어려울 것입니다. 심지어 세션에 사용자를 연결하는 데 사용하는 사용자 데이터가 IP, 브라우저 등처럼 바뀔 수 있으므로 항상 그렇지 않습니다. 항상 그렇습니다. 위험.
양식 페이지에있을 수있는 것은 "이 양식을 이미 작성했습니다. 기본 웹 사이트로 이동하십시오"라는 링크로 쿠키를 다시 설정하는 링크입니다.
마지막으로, 내 솔루션은 가볍고 $ .cookie와 같은 불필요한 플러그인을 포함하지 않는다는 것을 알게 될 것입니다. 자바 스크립트를 많이 사용했기 때문에 jQuery 만 사용하여 제출 이벤트를 준비하고 바인딩합니다.
쿠키는 일반적으로 특정 시간이 지나면 만료되도록 설정되거나 사용자가 언제든지 쿠키를 지울 수 있으므로 실제로 그렇게하는 것이 아닙니다. 그래도 신경 쓰지 않는다면 jQuery를 사용하여 어떻게 할 수 있는지에 대한 답을 쓸 수 있습니다. –
쿠키를 삭제하지 않고 설정하는 방법에 대한 제안 사항이 있으십니까? 그렇지 않다면 jQuery가 도움이 될 것입니다. 감사합니다! – user2528845
나는 나 자신을 생각하고 있었고 솔직히 나는 잘 모른다. 어쩌면 누군가가 내 것보다 더 나은 대답을 쓸 수있을 것이지만 그동안 jQuery 솔루션에 쿠키를 게시 할 것입니다. –