我有用于重置用户密码的类。但是代码总是给我一个错误:
Fatal error: Call to undefined function newRandomPwd() in
C:\AppServ\www\phonebook\application\controllers\reset.php
on line 32
这是我的代码:
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;
}
}
}
}
我如何使方法
newRandomPwd
可用,以便它不是未定义的? 最佳答案
newRandomPwd()
不是全局函数,而是对象方法,应使用$this
。
将$newPwd = newRandomPwd();
更改为$newPwd = $this->newRandomPwd();
关于php - 在Codeigniter上调用未定义的函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8966587/