안녕하세요.
리캡챠
http://sir.kr/g5_plugin/618?sfl=wr_subject%7C%7Cwr_content&stx=recap#vcmt_anchor
위 소스를 적용을 햇는데요.
그전에 잘 사용하던 플러그인인데 지금 새로 php5.5 신버전을 설치했는데
오류가발생되네요
function _isCurl(){
return function_exists('curl_version');
}
echo _isCurl();
체크해보니 true 값이 나오는걸 보니 curl은 정상 설치 되잇는것같긴 한데....
호스팅은 (카페24 웹호스팅 천원짜리..)
아래는 실제 리캡챠 위 플러그인 중에 값을 받아오는 부분입니다.
오류가 나길래 제가 테스트로
return $recaptcha_secret_key."값:".$ch;
를 해보니, 글전송시.
$recaptcha_secret_key 값은 잘 넘어옵니다.
$ch 의 값을 확인해보는것이 맞는건진 모르겟지만.. 우선 전달된 값은
Resource id #27
그러나,
$result,$obj,$obj->success
값은 넘어 오지가 않네요...
아래 $url 값으로 주소창에 시크릿키와 리스폰스키를 넣어 확인햇을때는
정상적으로 true 값과 함꼐 호스트 정보가 리턴되는데요..
이경우는 어떤문제라고 봐야할까요!!?
$url = 'https://www.google.com/recaptcha/api/siteverify';
$data = array('secret' => $recaptcha_secret_key, 'response' => $_POST['g-recaptcha-response']);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, sizeof($data));
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
$obj = json_decode($result);
return $recaptcha_secret_key."값:".$ch;
if ( ! $obj->success ) { return false; }
답변 3개 / 댓글 15개
http://stackoverflow.com/questions/6041741/fastest-way-to-check-if-a-string-is-json-in-php
json 값인지 맞는지 확인한후 아니면 encode 한후 decode 합니다.
if( !function_exists('is_json') ){
function is_json($str)
{
return is_array(json_decode($str,true));
}
}
$obj = is_json($result) ? json_decode($result) : json_decode(json_encode($result));
$result = curl_exec($ch);
if($result === false) { echo "Error!! : " . curl_errno($ch) . "<br>\n" . curl_error($ch) . "<br>\n"; }
답변에 대한 댓글 8개
카페24에서 curl60 에러 발생된다고 체크 부탁한다고 말하니..
-============
안녕하세요.
카페24 호스팅입니다.
관련해서 서버단에서 문제가 될만한 사항을 찾아 보았지만 서버단에서 문제가 발견되지 않았고, 시스템도 정상이었습니다.
카페24에서 테스트 할 수 있는 정보를 주시면 확인 후 안내 또는 조치를 하도록 하겠습니다.
다른문의가 있으시면 언제든지 게시판으로 문의주시기 바랍니다.
성심성의껏 안내해 드리겠습니다.
======================
이렇게 답변이 오네요.........
왜그러죠 이거 ㅠㅠ
일단 제가 테스트 해 보았는데요,
PHP 5.5 에서 이상없이 동작하는 것으로 보입니다.
디버깅하신다면,
$result 값이나 $obj 값을 한번 찍어서 확인해 보시기 바랍니다.
답변에 대한 댓글 6개
잠시 원래의 소스로 돌려놓아보겠습니다~!
http://goo.gl/bzCRTu
자유게시판 비회원글쓰기를 해보시면되세요~!!
[code]
if ( $obj->success != "1" ) { return "result:".print_r($result)."obj".print_r($obj);}//return false; }
[/code]
위와같이 결과값 리턴을 변경해두었습니다
답변을 작성하려면 로그인이 필요합니다.