我使用谷歌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
是一个连接操作符。