我已经下载了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只有在我在新文件中复制内容逐个功能时才开始工作。 (当我复制整个内容时 - 它没有用)。我不明白为什么??
答案 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>
另外,在reCaptcha页面上仔细检查您的域名与您使用代码的域名相同。
示例:
This is exact copy of my working example from server (removed Public Key)!这就是我在这里http://service-kl.com/code/recaptcha/
尝试一下,但在此之前,您必须将index.php中的公钥替换为您自己的公钥。