2013-11-25 1 views
0

경우이 코드를 가지고있는 $aff 변수에 액세스 할 수 없습니다. if ISSET 문 안에 $aff을 반향 출력하면 $aff 값이 표시되지 않습니다. 아마 이걸 일으키는 원인이 뭐야? 변수 $aff의 값에 액세스하려면 어떻게해야합니까? WriteLog() 함수가 실행되었지만 $aff에는 값이 없습니다. 이걸 도와주세요. 감사!변수 외부는 isset은 내부에 액세스 할 수없는 경우는 isset 문

+0

확인이 http://stackoverflow.com/a/12997460/1699833 –

+0

당신은'WriteLog' 스크립트의이 부분에서 실행되어 있는지 확인 있습니까? 왜냐하면'HTTP_RAW_POST_DATA'가 설정되면 아무 문제가 없기 때문입니다. – Peon

+0

예, WriteLog가 실행되었습니다. 로그 파일을 만들었지 만 비어 있습니다. – maikelsabido

답변

0

그것의 단지 아이디어를 사용해야합니다.

$aff = "100"; 

if (isset($HTTP_RAW_POST_DATA)) { 
    var_dump($aff); 
    WriteLog('events',$aff); 
} 
else{ 
    var_dump($aff); 
} 
0

$HTTP_RAW_POST_DATA에는 원시 POST 데이터가 들어 있습니다.

(귀하의 경우) $HTTP_RAW_POST_DATA에는 아무런 값도 없으므로 if 조건이 실패하고 echo $aff; 값이 인쇄되지 않습니다. 특별한 INI 설정없이 작동 또한 '선호'방법으로해야 입력 스트림을 사용하여 $ HTTP_RAW_POST_DATA requires an ini value to be set

$aff = "100"; 

if (isset($HTTP_RAW_POST_DATA)) { 
    echo $aff; 

    WriteLog('events',$aff); 
}else{ 
    echo "HTTP_RAW_POST_DATA not set"; 
} 
+0

OP는 WriteLog가 실행되었다고 썼다. 따라서'$ HTTP_RAW_POST_DATA'가 설정되어야한다. –

+0

$ HTTP_RAW_POST_DATA에 값이 들어 있습니다. 이것이 WriteLog() 함수가 실행 된 이유입니다. 그러나 나는 왜 $ aff가 가치를 포함하고 있는지 궁금해하고 있습니다. – maikelsabido

0

.

당신이 선택하면 여부는 내부 간다 거세한 숫양 AFF $의 값을 확인하기 위해 다른 방법을

$postData = file_get_contents('php://input') 

the documentation is here