如果Google验证码出现条件,为什么不能声明变量并存储在其中?

时间:2018-08-21 05:30:54

标签: php php-7

  

当我尝试在if -else条件中声明一个变量时,它   此后不能使用(如果是else循环)

变量的var_dump()给出null,我尝试在条件之前初始化变量,然后var_dump给出初始化值

/*code section start here
*/
    if(isset($_POST['g-recaptcha-response']) && !empty($_POST['g-recaptcha-response']))
         {
            $secret=get_option('googlerecap_clientsecret');
            $verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$_POST['g-recaptcha-response'].'&remoteip='.$_SERVER['REMOTE_ADDR']);
            $responseData = json_decode($verifyResponse);
            if($responseData->success)
            {
    $somevariable="verified";
        $query2   ="UPDATE table_name SET captcha='Verified' WHERE id='".$insert_id."'";
        $success2 = $link->query($query2);
            }else{
    $somevariable="Not verified";

    }

        }

    var_dump($somevariable); // gives NULL a

1 个答案:

答案 0 :(得分:1)

如果未设置$ _POST变量g-recaptcha-response,则将立即退出条件。由于您在此条件下都设置了“已验证”和“未验证”,因此,如果未设置g-recaptcha-response,则变量仍将为NULL。 您必须在条件之前放置$somevariable="Not verified";才能进行后备。