首页 > 解决方案 > 谁能帮我解决“遇到一个错误不存在的类:recaptchalib”的问题

问题描述

我正在将 recaptcha 库更新为 recaptchalib。

我收到这个错误。

遇到错误不存在的类:recaptchalib

  1. 在 library 文件夹中包含 library recaptchalib.php。
  2. 用户控制器:
    $this->load->library('recaptchalib');

    $data['fincaptcha_ok'] = $this->recaptchalib->recaptcha_get_html();

    $this->recaptchalib->recaptcha_check_answer($_SERVER['REMOTE_ADDR'],$this->input->post('recaptcha_challenge_field'),$this->input->post('recaptcha_response_field'));
    if(!$this->recaptchalib->getIsValid()) {
        $this->load->helper('directory');
        $data['error'] = 'incorrect captcha';
        $data['body_content']           = 'user/register';
        $this->load->view('template', $data);
  1. 看法:<?php echo $fincaptcha_ok; ?>

标签: phpcodeigniterrecaptchacaptcha

解决方案


如果我错了,请纠正我,但我认为你使用这个recaptcha 库。

这个库提供了一组函数并且没有对象实现。也就是说,如果您像这样使用它,它应该可以工作:

$this->load->library('recaptchalib');

$data['fincaptcha_ok'] = recaptcha_get_html();

$objResponse = recaptcha_check_answer($_SERVER['REMOTE_ADDR'],$this->input->post('recaptcha_challenge_field'),$this->input->post('recaptcha_response_field'));

if(!$objResponse->is_valid) 
{
    $this->load->helper('directory');
    $data['error'] = 'incorrect captcha';
    $data['body_content']           = 'user/register';
    $this->load->view('template', $data);
}

作为附加信息,最终最好使用内置的验证码助手。在这里仔细看看他们的文档。


推荐阅读