Tengo la clase para restablecer una contraseña de usuario. Pero el código es siempre me da un error:

Fatal error: Call to undefined function newRandomPwd() in 
C:\AppServ\www\phonebook\application\controllers\reset.php 
on line 32

Aquí está mi código:

class Reset extends CI_Controller{
    function index(){
        $this->load->view('reset_password');
    }
    function newRandomPwd(){
        $length = 6;
        $characters = 'ABCDEF12345GHIJK6789LMN$%@#&';
        $string = '';    

        for ($p = 0; $p < $length; $p++) {
            $string .= $characters[mt_rand(0, strlen($characters))];
        }
        return $string;
    }
    function resetPwd(){

        $newPwd = newRandomPwd();                   //line 32, newRandomPwd() 
                                                    //is undefined

        $this->load->library('form_validation');
        $this->load->model('user_model');
        $getUser = $this->user_model->getUserLogin();
        if($getUser)
        {
            $this->user_model->resetPassword($newPwd);
            return TRUE;
        } else {
            if($this->form_validation->run()==FALSE)
            {
                $this->form_validation->set_message('','invalid username');
                $this->index();
                return FALSE;
            }
        }
    }
}

¿Cómo puedo hacer que el método newRandomPwd disponible por lo que no es indefinido?

OriginalEl autor softboxkid | 2012-01-23

1 Comentario

  1. 22

    newRandomPwd() no es una función global, sino un método de objeto, debe utilizar $this.

    Cambio $newPwd = newRandomPwd(); a $newPwd = $this->newRandomPwd();

    Soy nuevo en MVC.. gracias por tu ayuda. Actúa ahora!
    +1 Gracias por recordarme globales y de objeto

    OriginalEl autor xdazz

Dejar respuesta

Please enter your comment!
Please enter your name here