当我点击忘记密码发送电子邮件时遇到未捕获的异常

An uncaught Exception was encountered when i click on forget password to send email

我收到这个错误

An uncaught Exception was encountered Type: Error

Message: Call to undefined method CI_Form_validation::substr()

Filename: /home/thedevel/public_html/esports/new/system/libraries/Form_validation.php

Line Number: 1065

Backtrace:

File: /home/thedevel/public_html/esports/new/application/controllers/Login.php Line: 495 Function: run

File: /home/thedevel/public_html/esports/new/index.php Line: 275 Function: require_once

这里是

的代码

文件名:/home/thedevel/public_html/esports/new/system/libraries/Form_validation.php

行号:1065

public function valid_email($email) {
        if (function_exists('idn_to_ascii') && defined('INTL_IDNA_VARIANT_UTS46') && $atpos = strpos($email, '@')) {
            $email = self::substr($email, 0, ++$atpos) . idn_to_ascii(self::substr($email, $atpos), 0, INTL_IDNA_VARIANT_UTS46);
        }
        return (bool) filter_var($email, FILTER_VALIDATE_EMAIL);
    }

请帮忙

你确定 self::substr 吗?应该是这样的:

public function valid_email($email) {
        if (function_exists('idn_to_ascii') && defined('INTL_IDNA_VARIANT_UTS46') && $atpos = strpos($email, '@')) {
            $email = substr($email, 0, ++$atpos) . idn_to_ascii(substr($email, $atpos), 0, INTL_IDNA_VARIANT_UTS46);
        }
        return (bool) filter_var($email, FILTER_VALIDATE_EMAIL);
    }