Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么可以';我不能声明一个变量并存储在我的谷歌验证码的if条件中吗?_Php_Php 7 - Fatal编程技术网

Php 为什么可以';我不能声明一个变量并存储在我的谷歌验证码的if条件中吗?

Php 为什么可以';我不能声明一个变量并存储在我的谷歌验证码的if条件中吗?,php,php-7,Php,Php 7,当我试图在if-else条件中声明一个变量时,它 以后不能使用(如果有循环) 变量的var_dump()给出null,我尝试在条件之前初始化变量,然后var_dump给出初始化值 /*code section start here */ if(isset($_POST['g-recaptcha-response']) && !empty($_POST['g-recaptcha-response'])) { $secret=get_

当我试图在if-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

如果未设置$u POST变量g-recaptcha-response,您将立即离开该条件。由于在此条件下同时设置了“已验证”和“未验证”,如果未设置g-recaptcha-response,则变量仍将为NULL。
您必须放置
$somevariable=“未验证”
在条件之前有一个回退。

我非常确定$\u POST变量g-recaptcha-response是因为在相同的if条件下执行了更新查询。您可以用
var\u dump($\u POST)
检查它吗?也许这个变量还有其他问题。另一次尝试:put
$somevariable=“verified”在查询执行下面。是的,我也这么做了,var_dump()的值也是空的。关于写/读那个变量,有没有其他脚本部分你没有分享?如果放置
$somevariable=“test”;变量转储($somevariable)在PHP文件的最开始处?至少这应该是可行的——如果不是的话,您的PHP安装可能已经损坏。