带有 codeigniter 的电子邮件存在功能 php
Email exists function with codeigniter php
我正在使用忘记密码功能,在忘记密码页面上我需要检查电子邮件是否已存在于数据库中,但我在检查电子邮件时遇到问题并且 return 在数据库中找不到电子邮件但它实际上在数据库。
User_model
//Email check for forgot password
public function email_exists($email) {
$sql = "SELECT username, email FROM users WHERE email = '{$email}' LIMIT 1";
$result = $this->db->query($sql);
$row = $result->row();
return($result->num_rows() === 1 && $row->email) ? $row->username : false;
}
控制器
public function forgot_password() {
if(isset($_POST['email']) && !empty($_POST['email'])) {
// Load form helper and validation library
$this->load->helper('form');
$this->load->library('form_validation');
$this->form_validation->set_rules('email', 'Email Address', 'trim|required|valid_email');
if($this->form_validation->run() == FALSE) {
//Email not valid, return to forgot password page and show error
$data['title'] = 'Forgot password';
$this->load->view('header', $data);
$this->load->view('forgot_password', array('error' => 'Enter a valid email address.'));
$this->load->view('footer');
} else {
$email = trim($this->input->post('email'));
$result = $this->user_model->email_exists($email);
if($result) {
$this->send_password_to_email($email, $result); //send_password_to_email
$this->load->view('header');
$this->load->view('forgot_password_ok', array('email' => $email));
$this->load->view('footer');
} else {
$data['title'] = 'Forgot password';
$this->load->view('header', $data);
$this->load->view('forgot_password', array('error' => 'Email address is not found on our database.'));
$this->load->view('footer');
}
}
} else {
$data['title'] = 'Forgot password';
$this->load->view('header', $data);
$this->load->view('forgot_password');
$this->load->view('footer');
}
}
请帮我解决这个问题。如果您需要更多详细信息,请告诉我
您需要将模型函数体更改为:
public function email_exists($email) {
$sql = "SELECT username, email FROM users WHERE email = '{$email}' LIMIT 1";
$result = $this->db->query($sql);
$row = $result->row();
return $result->num_rows() > 0 ? true : false;
}
我正在更改此行:
return $result->num_rows() > 0 ? true : false;
我正在使用忘记密码功能,在忘记密码页面上我需要检查电子邮件是否已存在于数据库中,但我在检查电子邮件时遇到问题并且 return 在数据库中找不到电子邮件但它实际上在数据库。
User_model
//Email check for forgot password
public function email_exists($email) {
$sql = "SELECT username, email FROM users WHERE email = '{$email}' LIMIT 1";
$result = $this->db->query($sql);
$row = $result->row();
return($result->num_rows() === 1 && $row->email) ? $row->username : false;
}
控制器
public function forgot_password() {
if(isset($_POST['email']) && !empty($_POST['email'])) {
// Load form helper and validation library
$this->load->helper('form');
$this->load->library('form_validation');
$this->form_validation->set_rules('email', 'Email Address', 'trim|required|valid_email');
if($this->form_validation->run() == FALSE) {
//Email not valid, return to forgot password page and show error
$data['title'] = 'Forgot password';
$this->load->view('header', $data);
$this->load->view('forgot_password', array('error' => 'Enter a valid email address.'));
$this->load->view('footer');
} else {
$email = trim($this->input->post('email'));
$result = $this->user_model->email_exists($email);
if($result) {
$this->send_password_to_email($email, $result); //send_password_to_email
$this->load->view('header');
$this->load->view('forgot_password_ok', array('email' => $email));
$this->load->view('footer');
} else {
$data['title'] = 'Forgot password';
$this->load->view('header', $data);
$this->load->view('forgot_password', array('error' => 'Email address is not found on our database.'));
$this->load->view('footer');
}
}
} else {
$data['title'] = 'Forgot password';
$this->load->view('header', $data);
$this->load->view('forgot_password');
$this->load->view('footer');
}
}
请帮我解决这个问题。如果您需要更多详细信息,请告诉我
您需要将模型函数体更改为:
public function email_exists($email) {
$sql = "SELECT username, email FROM users WHERE email = '{$email}' LIMIT 1";
$result = $this->db->query($sql);
$row = $result->row();
return $result->num_rows() > 0 ? true : false;
}
我正在更改此行:
return $result->num_rows() > 0 ? true : false;