为什么即使将变量值设置为true,也将其设置为false?

时间:2020-07-24 07:30:40

标签: php if-statement boolean

我正在尝试实施Google reCAPTCHA。问题甚至是当($Return->success == true && $Return->score >= 0.5)等于true时,当我应该得到$isOK = true时,我得到$isOK = false

我做了很多尝试,但是我仍然将此值设置为false。我在这儿做错什么了吗?

$captchaVerified = false;
if(isset($_POST['tokenVal'])){
    function getCaptcha($tokenV,$secretKey){
        $Response =  file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".urlencode($secretKey)."&response=".urlencode($tokenV));
        $Return = json_decode($Response);
        /* global $captchaVerified;*/
        if ($Return->success == true && $Return->score >= 0.5) {
            $captchaVerified = true;
        } else {
            $captchaVerified = false;
        }
        return $captchaVerified;
    }
   $isOK = getCaptcha($_POST['tokenVal'],$secretKey);
}

1 个答案:

答案 0 :(得分:0)

给定的响应代码正在对api服务器执行 GET 请求。

api 服务器正在请求 POST 请求。

$Response =  file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".urlencode($secretKey)."&response=".urlencode($tokenV));

要向服务器发出POST请求,可以遵循以下steps

整体参考资料取自verify recaptcha