외부 POST 값 가지고 오기

외부 POST 값 가지고 오기

QA

외부 POST 값 가지고 오기

답변 3

본문

API형식으로 외부에서 유저 데이터를 POST 값으로 받아오려고 합니다.

 

payload가 response={"mb_id":"test123","retry":1,"mb_name":"테스트".... }

 

이런식으로 HTTP & POST 로 parameter name = “response” 로 해서 전달 받는데

 

다음과 같은 방식으로 받았더니 Null 값이 됩니다. 

$arr = $_POST ? $_POST : $_GET;

foreach($arr as $key => $value) {

       foreach($value as $key1 => $value1) {

            $$key[$key1] = $value;

        }

        $$key = $value;

    }

 

Q, 위 데이터 양식을 처리하는 방식이 어떻게 되나요? 

이 질문에 댓글 쓰기 :

답변 3

$data = json_decode(stripslashes($_POST['response']), true); // stripslashes 는 \ 제거 필요시  사용

print_r2($data);

 

echo $data['mb_id'];


<?php
$_POST['mb_name'] = '어드민';
$_POST['mb_id'] = 'admin';
 
$arr = $_POST ? $_POST : $_GET;
 
foreach($arr as $key => $value) {
    ${$key} = $value;
}
echo $mb_name; // 어드민 출력됨

foreach를 한단계 낮추라는 것이지요?
foreach($arr as $key => $value) {
    ${$key} = $value;
} 로 바꾸어도
$response 값에는 그대로 들어가는데, response 안에 있는 데이터 값을 불러오면
null이 됩니다.

던저지는 POST 값이
response={"mb_id":"test123","retry":1,"mb_name":"테스트".... } 형식이라 그런지

$mb_id = $_POST['mb_id'];
 했을 시 null 값으로 들어갑니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
filter #post ×
전체 59
© SIRSOFT
현재 페이지 제일 처음으로