cartupdate.php에서 오류가 발생해 질문드립니다.

그간 그누보드 너무 잘 사용하고 있습니다.

그누보드 사용 후 첨으로 막히네요.

이번에 새로운 사이트 하나 작업하는데

도저히 이해가 안가는 오류가 있어 이렇게 도움을 청합니다.

파일 : shop/cartupdate.php

222번 줄 -

Copy
if ($ct_qty + $sum_qty > $it_stock_qty)
{
    alert($io_value." 의 재고수량이 부족합니다.\\n\\n현재 재고수량 : " . number_format($it_stock_qty - $sum_qty) . " 개");
}

해당식에서 $it_stock_qty 가 0으로 나옵니다.

예를 들어 에코로 출력해 비교해 보면

Copy
echo $it_stock_qty;

if ($ct_qty + $sum_qty > $it_stock_qty)
{

    echo $it_stock_qty;
    alert($io_value." 의 재고수량이 부족합니다.\\n\\n현재 재고수량 : " . number_format($it_stock_qty - $sum_qty) . " 개");
}

첫번째 값은 9999 두번째는 0 이 나옵니다.

이때문에 해당 비교문에 걸려서 오류가 나는데요.

당최 이런경우는 첨이라 방법이 없네요.

$ct_qty + $sum_qty 값은 1로 정상적으로 나옵니다.

서버는 CentOS Linux release 7.4.1708 / php 7.0.27 /  nginx/1.12.2 / mysql  Ver 14.14 Distrib 5.7.21

|

답변 2개 / 댓글 1개

자문 자답입니다.

원인은 shop.lib.php에 get_item_supply() 란 기능을

html변경하려고 extend에 커스터마이징 해서 사용했습니다.

해당기능은 상품추가 옵션생성로직인데요.

단순히 html만 바꿨는데 오류가 났었습니다.

자세히 말하면 <label></label> 이 태그가 삭제하니 오류가 납니다.

아시다시피 라벨태그는 폼값도 아닌 단순 이름표 인데

왜이런 오류가 발생하는지 지금도 의문입니다.

라벨태그가 빠지면 cartupdate.php 거칠때

비교문에서 $it_stock_qty 값이 사라집니다.

다른 서버환경에서 해봐도 마찬가지네요.

php버그인가 뭔지 몰라도 이것땜에 참...

이부분을 number_format($ct_qty + $sum_qty ) 해줘야 하지 않을까요?  

답변에 대한 댓글 1개

저도 숫자형 변환 등 이거저거 다 봤는데 소용이 없네요.
비교문만 들어가면 변수값이 날아가 버리니...;;
다른 개발 다 해놓고 마지막으로 볼려구요.
답변 감사드립니다.^^

답변을 작성하려면 로그인이 필요합니다.