解析 JSON 响应时"Use of undefined constant success - assumed 'success'"错误



我使用谷歌recaptcha和我的验证方式是通过ajax,一切都在工作,我得到了一个响应

{
success: "false/true"
}

但是我得到一个错误说"使用未定义的恒定成功-假设'成功'在第30行,任何想法,帮助,建议,建议?

这是我的控制器上的代码(一个我在通信谷歌recaptcha API)

$captcha=$request->input('g-recaptcha-response');
$response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=mysitekey&response=".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR']);
if($response.success == false) //this is the line 30
{
    return 'You are spammer ! Get the out';
}else{
    return 'Thanks for posting comment.';
}

这是第30行"$response"。Success == false"

您错过了几个步骤。首先,您需要json_decode您从API

获得的响应
$responseData = json_decode($response);

接下来,您需要正确地处理"成功"元素,我假设它将是一个数组,但您将使用var_dump()来验证这一点。

var_dump($responseData);

如果你得到一个数组,那么if子句将看起来像这样:

if ($responseData["success"]==false)

另一方面,如果您在responseData中获得对象,则' if子句将看起来像这样

if ($responseData->success==false)

dot符号是用于javascript的,在php中,dot是一个连接操作符。

最新更新