php) input->post()를 할때 key값이 "0"으로 자동 변경될 경우

2021. 8. 6. 18:27PHP

반응형

전달데이터 sample

{"field":{

   "A.NAME": {'field':"A.NAME", 'val':1},

   "B.TYPE": {'field':"B.TYPE", 'val':2}

}}

ajax로 위의 sample 데이터를 전달할때 key값에 .이 있으면 controller에서 문제가 있다.

 

controller에서 전달데이터를 보면

$q = $this->input->post();

{"field":{

   "0": {'field':"B.TYPE", 'val':2}

}}

key값에 .이 붙어있으면 php기본 보안설정으로 자동으로 키를 "0"으로 변경한다.

 + key값들중 여러개에 .이 붙어있을 경우 하나의 값만 전달해준다.(키들이 모두 "0"으로 변경되었기 때문)

 

 

[해결법]

$q = $this->input->input_stream();

{"field":{

   "ANAME": {'field':"A.NAME", 'val':1},

   "BTYPE": {'field':"B.TYPE", 'val':2}

}}

키값에 있던 .은 사라졌으나 각 데이터들이 살아있는 것을 볼 수 있다.

반응형

'PHP' 카테고리의 다른 글

php) usort : array 정렬을 사용자기준에 맞게 하는 방법  (0) 2021.06.10
php) array_multisort: 배열 정렬하기  (0) 2020.05.13
php) debug 찍기  (0) 2020.04.20
코드이그나이터) 폼 검증  (0) 2020.04.20
php) 기본 함수  (0) 2019.11.24