我在index.php上有一个recaptcha表单?page = signup,它在index.php上被处理?page = process-register然而它总是将recaptcha返回为无效,数据正在被正确发送而我不能弄清楚它为什么不起作用。如果我将表单设置为提交到外部页面,请说具有相同内容的process.php就可以了。可能导致这种情况的任何想法?我正在使用ShevAbam编写的reCAPTCHA PHP类(https://github.com/shevabam/recaptcha)。
编辑:不知道是否值得一提的是我使用mod_rewrite隐藏文件扩展名并运行mysite.com/index.php?page=$等所有页面作为mysite.com/$/。这不应该有任何影响,对吗?
提前致谢。
的index.php?页=寄存器
if($page == 'register')
{
echo '
<form action="index.php?page=process-register" method="POST">
<h2>Register</h2>';
echo getcaptcha();
echo '
<buttontype="submit">Register</button>
</form>
'; }
的index.php?页=过程寄存器
if($page == 'process-register')
{
echo getcaptcha();
}
getcaptcha()
function getcaptcha()
{
echo $_POST['g-recaptcha-response'];
$reCAPTCHA = new reCAPTCHA('mykey', 'mykey');
echo $reCAPTCHA->getScript();
if (isset($_POST['g-recaptcha-response']))
{
if ($reCAPTCHA->isValid($_POST['g-recaptcha-response']))
{
echo '<br>-- Captcha OK ! --<br>';
}
else
{
echo 'captcha not okay';
}
}
else
{
echo $reCAPTCHA->getHtml();
}
}