安装reCaptcha和白页

时间:2011-04-16 00:56:29

标签: php recaptcha

我已经下载了librecaptcha.php并制作了test.php:

<?php
require_once('recaptchalib.php');
$publickey = "MY_KEY"; // you got this from the signup page
echo recaptcha_get_html($publickey);
?>

但它显示白屏。问题在于require_once(),因为如果我在require_once()之前退出,它会回显到页面,但如果在需要之后 - 则不回显。

文件recaptchalib.php与test.php

位于同一文件夹中

它可以是什么?

UPD 1:

我认为,问题出在require_once('recaptchalib.php')。无论后面是什么代码,白屏都会出现。 例如:

<?php
require_once('recaptchalib.php');
exit('test_after');
?>

此文件返回白屏。但是这个脚本有效:

<?php
exit('test_before');
require_once('recaptchalib.php');
?>

所以,问题出在lib文件本身。路径是正确的,我没有修改过文件。

UPD2

所以,我应该检查recaptchalib.php文件。 我已创建包含此类内容的lib.php文件:

<?php 
echo "lib"; 
?> 

它已在所有浏览器中打开。但后来我在echo "lib"之前添加了(复制粘贴)recaptchalib.php的内容。所以它看起来像:

<?php
/* recaptchalib.php content*/
echo "lib";
?>

我看到FF中的空白屏幕,Chrome中的500 server internal error和Opera上的Remove server or file not found

UPD3:

recaptchalib.php只有在我在新文件中复制内容逐个功能时才开始工作。 (当我复制整个内容时 - 它没有用)。我不明白为什么??

1 个答案:

答案 0 :(得分:1)

不,这不是库中的问题!

您的测试脚本可以在Safari中使用,但在Firefox中不起作用!(我不知道其余部分,因为我只使用这些)

您是否尝试在多个浏览器中进行检查?

根据官方文档:Using reCAPTCHA with PHP您必须将PHP代码放在HTML页面上。

  

需要正文标记或   CAPTCHA可能无法在某些浏览器上显示

所以你必须创建HTML页面并且它将起作用

  <html>
    <body>
      <!-- your HTML content -->

      <form method="post" action="submit_recaptcha.php">
        <?php
          require_once('recaptchalib.php');
          $publickey = "your_public_key"; // you got this from the signup page
          echo recaptcha_get_html($publickey);
        ?>
        <input type="submit" />
      </form>

      <!-- more of your HTML content -->
    </body>
  </html>
  • 这是我的test(适用于所有浏览器)!
  • 这是我服务器上的your code(它在FF中不起作用,但在Safari中有效)

更新

另外,在reCaptcha页面上仔细检查您的域名与您使用代码的域名相同。

示例:

enter image description here

This is exact copy of my working example from server (removed Public Key)!这就是我在这里http://service-kl.com/code/recaptcha/

尝试一下,但在此之前,您必须将index.php中的公钥替换为您自己的公钥。