【发布时间】:2017-06-22 14:37:21
【问题描述】:
在转移到开放互联网之前,我需要一些帮助来解决我正在使用我的电脑(所以是本地主机)开发的网站中的 Google Recaptcha 问题。
我注册了 Google Recaptcha 并获得了一对密钥。我在一个 php 页面中创建了这个表单:
<div>
<form action="" method="POST" name="formEmail">
<section>
<ul class="formMail" id="ulMsg">
<li>
<label for="msg">Messagge</label>
</li><li>
<textarea class="datoForm autoExpand" name="msg" id="msg" placeholder="Type Msg" rows='3' data-min-rows='3'></textarea>
</li>
</ul>
</section>
<div class="formMail" id="captchaContainer">
<div class="g-recaptcha" data-sitekey="[Public_Key]"></div>
</div>
<br/><input type="button" value="Invia" onclick="formSubmit();">
</form>
</div>
我调用一个 JS 文件来验证用户输入,而不是提交按钮,如果一切正常,我将数据提交到另一个检查验证码的 php 页面。这个php页面的来源是:
if(isset($_POST['g-recaptcha-response'])){$captcha=$_POST['g-recaptcha-response'];}
$secretKey = "[Private_Key]";
$ip = $_SERVER['REMOTE_ADDR'];
$response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".$secretKey."&response=".$captcha."&remoteip=".$ip);
$responseKeys = json_decode($response,true);
问题是:我什么都没有!我试过了
var_dump($responseKeys);
但我得到的只是 NULL。我没有收到任何其他错误,验证码在表单中显示良好,并且似乎可以正常工作。我在 localhost 工作,所以我的 IP 是 127.0.0.1,这应该有帮助但没用。我没有“打开”的网站来粘贴它并尝试,我做错了什么?
【问题讨论】:
标签: php forms validation recaptcha