Php 为什么可以';我不能声明一个变量并存储在我的谷歌验证码的if条件中吗?
当我试图在if-else条件中声明一个变量时,它 以后不能使用(如果有循环) 变量的var_dump()给出null,我尝试在条件之前初始化变量,然后var_dump给出初始化值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_
/*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安装可能已经损坏。