如果不参考外部页面,Recaptcha无法正常工作

时间:2017-04-03 16:22:11

标签: php recaptcha

我在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(); 
     } 


 }

0 个答案:

没有答案