установить reCaptcha и белую страницу - PullRequest
2 голосов
/ 16 апреля 2011

Я скачал 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 (), потому что, если я завершаю работу с echo перед require_once () - он выводится на страницу, но если после require - не выводится.

Файл 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"; 
?> 

Он был открыт во всех браузерах. Но затем я добавил (скопировал) содержимое файла recaptchalib.php до echo "lib". Так это выглядит так:

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

И я видел пустой экран в FF, 500 server internal error в Chrome и Remove server or file not found в Opera.

UPD3:

recaptchalib.php начал работать, только когда я скопировал его содержимое функция за функцией в новый файл. (когда я скопировал весь контент - это не сработало). Я не понимаю, почему ??

1 Ответ

1 голос
/ 16 апреля 2011

Нет, это не проблема в библиотеке!

Ваш тестовый скрипт будет работать в Safari, но не будет работать в Firefox! (для остальных я не знаю, потому что я использую толькоэти)

Вы пытались проверить его в более чем одном браузере?

Согласно официальной документации: При использовании reCAPTCHA с PHP вам необходимопоместите код PHP на страницу HTML.

Требуется тег body , или 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>
  • Вот мой тест (работает во всех браузерах)!
  • Вот ваш код вклмой сервер (он не работает в FF, но работает в Safari)

Обновление:

Также дважды проверьте, является ли ваш домен на странице reCaptcha таким же, как и тот, где вы используете свой код.

Пример:

enter image description here

Это точная копия моего рабочего примера с сервера (удален открытый ключ)! Вот что у меня здесь http://service -kl.com / code / recaptcha /

Попробуйте, но перед этим вы должны заменить открытый ключ в index.php насвой собственный.

...