问题描述
|
我已经下载了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()之前以echo退出-它会回显到页面,但是如果在require之后-则不会回显。
文件recaptchalib.PHP与test.PHP位于同一文件夹中
可以是什么?
UPD 1:
我认为问题出在ѭ1。无论之后输入什么代码,都会出现白屏。
例如:
<?PHP
require_once(\'recaptchalib.PHP\');
exit(\'test_after\');
?>
此文件返回白屏。但是此脚本有效:
<?PHP
exit(\'test_before\');
require_once(\'recaptchalib.PHP\');
?>
因此,问题出在lib文件本身中。路径正确,并且我没有修改文件。
UPD2:
因此,我应该检查recaptchalib.PHP文件。
我已经创建了具有以下内容的“ 4”文件:
<?PHP
echo \"lib\";
?>
它已在所有浏览器中打开。但是之后,我在echo \"lib\"
之前添加了(复制粘贴)recaptchalib.PHP的内容。所以看起来像:
<?PHP
/* recaptchalib.PHP content*/
echo \"lib\";
?>
而且我在FF中看到了空白屏幕,在Chrome中看到了8英寸,在Opera中看到了9英寸。
UPD3:
recaptchalib.PHP仅在我逐个功能地将其内容复制到新文件中后才开始工作。 (当我复制整个内容时-它不起作用)。我不明白为什么?
解决方法
不,这不是图书馆的问题!
您的测试脚本可以在Safari中使用,但不能在Firefox中使用! (我不知道其余的,因为我只用这些)
您是否尝试在多个浏览器中进行检查?
根据官方文档:将reCAPTCHA与PHP结合使用,必须将PHP代码放在HTML页面上。
必须使用body标签,或者
某些浏览器可能无法显示验证码
因此,您必须创建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>
这是我的测试(适用于所有浏览器)!
这是您在我的服务器上的代码(它在FF中不起作用,但在Safari中起作用)
更新:
同样,仔细检查一下您在reCaptcha页面上的域是否与使用代码的域相同。
例:
这是服务器上我的工作示例的精确副本(已删除的公钥)!这就是我在这里的http://service-kl.com/code/recaptcha/
试试看,但是在此之前,您必须用自己的替换index.php中的公钥。