api json 통신중 당최 이해할수 없는 상황이... 왜 0이 뜨는지...
본문
<?php
header('Content-Type: application/json; charset=UTF-8');
include_once ('./_common.php');
$point= $member['mb_point'];
$data = array(
"status" => "OK",
"balance" =>$point,
"bonus" =>0,
"uuid" =>$uuid
);
$jsonData = json_encode($data, JSON_NUMERIC_CHECK | JSON_PRETTY_PRINT);
이렇게 코딩이 되어 있는데 결과값이
{ "status": "OK", "point": 0, "bonus": 0, "uuid": "asdasdasdwa" }
이렇게 뜹니다..
포인트는 분명히 9350이 있고 echo 찍어봐도 9350인데..
그런데 또 희안한거닌
$point= 1111;
이렇게 임의로 입력을 하면
{ "status": "OK", "point": 1111, "bonus": 0, "uuid": "asdasdasdwa" }
정상적으로 나오구요..
회원 포인트를 가져와야 하는데 json값이 0으로 떠요..ㅠㅠ 미치고 환장하것네요 ㅠㅠ
!-->답변 5
데이타변수를 디버깅하면 뭘로 나와요?
배열 문제이거나 제이슨 출력할때 옵션문제이거나 둘중에 하난데 결과값부터 확인해서 알려주세요
로그인 처리가 제대로 안되어서 $member 가 없는 경우로 보여집니다.
$member = get_member("admin")
한후에 출력해보시면 정상일겁니다.
결국 session 의 ss_mb_id 가 비정상이거나, 로그인 안한상태로 저 페이지를 호출한것입니다.
문제가 생겼을때, 본인이 만든 코드부터 의심을 하시는게 좋습니다.
"뭔가 내가 알지 못하는 부분 때문일거야. " 라는 생각으로 접근하면, 해결하는데 시간이 많이 걸리게 됩니다.
코드도 몇줄 안되고, 분명 정상 동작해야 하는데, 비정상으로 동작하는것입니다.
사실 이것은 비정상이 아니라 정상 동작일수 있습니다.
<?php
header('Content-Type: application/json; charset=UTF-8');
include_once ('./_common.php');
ini_set('display_errors', 1); //오류 출력
$point= $member['mb_point'];
$data = array(
"status" => "OK",
"balance" =>$point,
"mb_level" => intVal($member['mb_level']),
"mb_id" => trim($member['mb_id']),
"bonus" =>0,
"uuid" =>$uuid
);
$jsonData = json_encode($data, JSON_NUMERIC_CHECK | JSON_PRETTY_PRINT);
!-->
로그인된 회원 기준으로 배열만드는게 맞나요?
$point = (int)$member['mb_point'] 로 한번 테스트 해보시는 게 좋을 듯 합니다.