2

我在 joomla admini 登录部分使用 Google reCAPTCHA,验证工作正常。

验证码添加到administrator/components/com_login/models/login.php

 $privatekey = "myprivatekey";
 $resp = recaptcha_check_answer (
        $privatekey,
        $_SERVER["REMOTE_ADDR"],
        JRequest::getVar('recaptcha_challenge_field', '', 'method', 'recaptcha_challenge_field'),
        JRequest::getVar('recaptcha_response_field', '', 'method', 'recaptcha_response_field')
    );

 if (!$resp->is_valid) {
    //die('Incorrect Captcha...');
 }else{     
    $credentials = array(
        'username' => JRequest::getVar('username', '', 'method', 'username'),
        'password' => JRequest::getVar('passwd', '', 'post', 'string', JREQUEST_ALLOWRAW)
    );
    $this->setState('credentials', $credentials);
 }

我应该使用什么来代替//die('Incorrect Captcha...');输出Invalid Captcha!登录页面出错?

错误样本图像

4

2 回答 2

3

尝试这个-

$app = JFactory::getApplication();
$app->enqueueMessage('Incorrect Captcha...', 'error');
$app->redirect(JURI::base());
于 2012-12-22T09:29:49.187 回答
2

当输出无效时,您可以使用它JError来显示错误。

例如:

JError::raiseError( JText::_( 'Invalid Captcha' ));

有关更多方法,您可以查看此JError

于 2012-12-22T09:31:14.103 回答