로그인 시 장바구니 세션 유지하지 않기
본문
[code]
// cart id 설정
function set_cart_id($direct)
{
global $g5, $default, $member;
if ($direct) {
$tmp_cart_id = get_session('ss_cart_direct');
if(!$tmp_cart_id) {
$tmp_cart_id = get_uniqid();
set_session('ss_cart_direct', $tmp_cart_id);
}
} else {
// 비회원장바구니 cart id 쿠키설정
if($default['de_guest_cart_use']) {
$tmp_cart_id = preg_replace('/[^a-z0-9_\-]/i', '', get_cookie('ck_guest_cart_id'));
if($tmp_cart_id) {
set_session('ss_cart_id', $tmp_cart_id);
//set_cookie('ck_guest_cart_id', $tmp_cart_id, ($default['de_cart_keep_term'] * 86400));
} else {
$tmp_cart_id = get_uniqid();
set_session('ss_cart_id', $tmp_cart_id);
set_cookie('ck_guest_cart_id', $tmp_cart_id, ($default['de_cart_keep_term'] * 86400));
}
} else {
$tmp_cart_id = get_session('ss_cart_id');
if(!$tmp_cart_id) {
$tmp_cart_id = get_uniqid();
set_session('ss_cart_id', $tmp_cart_id);
}
}
// 보관된 회원장바구니 자료 cart id 변경
if($member['mb_id'] && $tmp_cart_id) {
$sql = " update {$g5['g5_shop_cart_table']}
set od_id = '$tmp_cart_id'
where mb_id = '{$member['mb_id']}'
and ct_direct = '0'
and ct_status = '쇼핑' ";
sql_query($sql);
}
}
}
[code]
비회원으로 있다가 로그인 시 장바구니 세션이 유지되지 않고 초기화되길 원하는데요
위 소스에서 어딜 수정해야 할까요?
답변 2
set_cookie('ck_guest_cart_id', '', 0);
ck_guest_cart_id 쿠키를 로그인, 로그아웃 시 초기화 해주면 됩니다.
그런데 커스텀 된게 아니라면, 영카트에서 장바구니는 ss_on_uid 키 아니었던가요?;; 가물가물하지만;;
먼저 글에서 답변드린것처럼 login_check.php 에서
unset($_SESSION['ss_on_uid']);
도 한번 해보셔요~