我遇到以下错误遇到未捕获的异常
类型:错误
消息:调用未定义的函数random_string()
文件名:C:\ xampp \ htdocs \ HerbalCebu \ application \ controllers \ login.php
行号:128
回溯:
文件:C:\ xampp \ htdocs \ HerbalCebu \ index.php行:315功能:require_once,
当我想生成一个随机字符串时,它将作为用户的临时密码放置
这是我的控制器
function forgot_password()
{
$this->form_validation->set_rules('emailpass', 'emailpass', 'trim|required');
if($this->form_validation->run() == FALSE)
{
$this->load->view('Login/modal_forgot');
$this->load->view('CustTemplate/header');
$this->load->view('Login/Login');
$this->load->view('CustTemplate/footer');
}else{
$password = ('alpha', 8);
$data = array('password'=>md5($password));
$this->db->where('email',$this->input->post('emailpass'));
$this->db->update('users',$data);
$this->session->set_flashdata('message','here is your new password: <mark>'.$password.'</mark><br> please login now and change the given password');
redirect(base_url('login'));
}
}
public function check_email($password)
{
$email = $this->input->post('emailpass');
$result = $this->queries_login->get_email($email);
if($result)
{
return TRUE;
}
else
{
$this->form_validation->set_message('Check_email','The email you entered is not on the database');
return FALSE;
}
}
Run Code Online (Sandbox Code Playgroud)
和模型
public function get_email($email)
{
$this->db->select('*');
$this->db->from('users');
$this->db->where('email',$email);
$this->db->limit(1);
$query = $this->db->get();
if($query ->num_rows()==1)
{
return $query->result();
}
else
{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
我在代码的任何地方(可能在这里$password = ('alpha', 8);?)都没有真正看到它的使用,但是您应该在通过$this->load->helper('string');或自动加载该函数之前加载该帮助器。application/config/autoload.php
如果错误仍然存在,请确保该文件存在于中system/helpers/string_helper.php。
正如有人每次使用时不断提出的建议md5-您真的不应该使用它(甚至在官方文档中也建议使用):http : //php.net/manual/en/function.md5.php
您可以将password_hash功能verify与一起使用password_verify。http://php.net/manual/zh/function.password-hash.php