주문페이지 장바구니페이지 뒤로가기 시 캐시가 안남게 하기(Hook 이용) > 영카트5 플러그인

영카트5 플러그인

좋은 댓글과 좋아요는 제작자에게 큰힘이 됩니다.

주문페이지 장바구니페이지 뒤로가기 시 캐시가 안남게 하기(Hook 이용) 정보

주문페이지 장바구니페이지 뒤로가기 시 캐시가 안남게 하기(Hook 이용)

첨부파일

nocache_header.plugin.zip (933byte) 27회 다운로드 2022-08-25 18:38:24
테스트한 버전5.4
호환 가능 버전5.4

본문

영카트에서 주문페이지에서 결제를 하고 난 뒤에

크롬브라우저로 뒤로가기를 누르면 브라우저 캐시 때문에,

주문내역이 남아 있는것을 확인할수 있습니다.


해당 자료를 적용시 헤더 에서 캐싱을 막아

결제 하고 난 뒤에 크롬브라우저에서 뒤로가기 하면 '장바구니가 비어 있습니다' 란 메시지를 확인할수 있습니다.


해당 자료는 장바구니 페이지, 주문서 작성 페이지 에만 적용됩니다.
일부 브라우저 또는 앞으로 브라우저가 업데이트 된다면 해당 방법이 안될수도 있습니다.
추천
7
  • 복사

댓글 전체

<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

// 아래 return; 주석 해제시 사용하지 않음
// return;

// 일부 브라우저 또는 앞으로 브라우저가 업데이트 된다면 아래의 방법이 안될수도 있습니다.
function nocache_nostore_headers() {
    if (headers_sent()) return;
   
    header_remove('Last-Modified');

    header('Expires: Sat, 17 Jan 1999 01:00:00 GMT');
    header('Cache-Control: no-transform, no-cache, no-store, must-revalidate');
}

add_event('common_header', 'shoping_add_common_header', 10, 0);

function shoping_add_common_header() {
    $arr = array(
        'shop/cart.php',        // 장바구니 페이지
        'shop/orderform.php',  // 주문서 작성 페이지
    );

    foreach($arr as $url){
        if(stripos($_SERVER['SCRIPT_NAME'], $url) !== false){
            nocache_nostore_headers();
        }
    }
}
상단은 다운받은 그대로입니다
하단에 ?> 넣어보고
혹시나해서
장바구니와 주문서 작성 경로에
  '/shop/cart.php',        // 장바구니 페이지
이렇게 고쳐도보고 하는데
extend에 올리면 다 그누보드가 먹통이 되버리네요
© SIRSOFT
현재 페이지 제일 처음으로