비회원으로 장바구니 주문시 [장바구니가 비어 있습니다] 문제 정보
비회원으로 장바구니 주문시 [장바구니가 비어 있습니다] 문제본문
오늘 보다보니 비회원으로 장바구니에 상품을 담은 상태에서
주문하기 > 로그인화면 > 주문서작성폼 에서
[장바구니가 비어 있습니다] alert이 뜨고 다시 장바구니로 진입하는 버그를 발견했습니다
여기서 다시 주문하기를 누르면 정상적으로 주문이 되기는 합니다
코드를 살펴보니 login_check.php 마지막쯤에 카트 테이블의 ct_select를 모두 0으로 초기화 하는 부분때문에 발생하는 문제입니다
다시 주문하기를 누르면 정상적으로 주문이 되는 이유는
이미 로그인 했기 때문에 로그인 화면을 거치지 않기 때문입니다
해결방법은 login_check.php에서 이 쿼리문을 주석처리 하면 되는데
주석처리 했을 때 어떤 영향이 있는지 까지 모두 파악하기는 힘들어서
인자를 추가해서 ct_select를 업데이트 하지 않도록 했습니다
처음에 ct_select 컬럼 용도를 알기위해 찾아보니
카트 테이블이 ct_select가 장바구니담기:0, 바로구매:1 라고 설명되어 있어서
엉뚱한 코드를 한참 고치다가 나중에 원인을 찾았습니다 ㅠㅠ
저 처럼 잘못된 카트(g5_shop_cart::ct_select) 테이블 컬럼 설명을 보고
고생하시는 분이 계실까 싶어서 글 남겨봅니다
이 오류는 최신버전 영카트에서도 그대로 있는 오류입니다
5
댓글 4개
어떻게 수정하셨는지 예시를 보여주시면 감사!
확인을 해봐야겠네요. 좋은정보 감사합니다.
버그라고도 할 수 있고, 아니라고도 할 수 있을 것 같습니다.
비회원으로 장바구니에 상품을 담고 로그인 시 기존에 회원의 아이디로 장바구니에 담겨 있는 상품과 통합이 됩니다.
때문에 ca_select ( 0->장바구니에 담겨 있는 상태, 1-> 주문선택한 상태)를 초기화 시키는 것 같습니다.
이걸 버그라고 판단해야 할지, 아니라고 판단해야 할지는 조금 애매하네요.
@메이드
쇼핑몰 이용자(비회원) 입장에서 장바구니에 상품을 담고 주문하기를 눌렀는데 [장바구니가 비어 있습니다] 라는 메시지가 뜨는 것 자체가 버그 아닐까요?