Контроллер:
public function index(){
$this->load->helper(array('form', 'url','common'));
$this->load->library(array('form_validation','session'));
$data=array(
'header' => $this->load->view('frontend/assets/header', '', TRUE),
'footer' => $this->load->view('frontend/assets/footer', '', TRUE),
);
$this->form_validation->set_rules('email', 'email', 'trim|required');
$this->form_validation->set_rules('password', 'Password', 'trim|required');
$this->load->model('usermodel','usermodel',TRUE);
$form_post_data = $_POST;
// print_r($form_post_data);exit;
$email = $form_post_data['email'];
$password = $form_post_data['password'];
// $mobile = $form_post_data['mobile'];
if(count($form_post_data) >0)
{
if ($this->form_validation->run() == FALSE)
{
$this->load->view('frontend/index',$data);
}
else
{
$user_data = $this->usermodel->checklogin($email,$password);
var_dump($user_data);exit;
if(count($user_data) > 0)
{
$this->session->set_userdata('sess_user_id', $user_data->id);
$this->session->set_userdata('sess_user_email', $user_data->email);
$this->usermodel->update_last_login_date();
echo "<script>
alert('Login Successfull.');
window.location.href = '" . base_url() . "profile';
</script>";
}
else
{
$this->session->set_flashdata('err_msg', 'email or password is invalid please try again');
echo "<script>
alert('Email and Password is wrong.');
window.location.href = '" . base_url() . "home';
</script>";
}
}
}
else {
$this->load->view('frontend/user/login',$data);
}
}
Модель:
function checklogin($email,$password)
{
// unset($data['sbt']);
$sha_password = md5($password);
// print_r($email);
// print_r($sha_password);exit;
$this->db->select('*');
$this->db->from('user');
$this->db->where('email', $email)
// $this->db->where("status","live")
->group_start()
->or_where('mobile', $email)
->group_end();
$this->db->where('password', $sha_password);
$query = $this->db->get();
return $query->row();
}
Просмотр:
<form action="<?php echo base_url();?>user" method="POST" autocomplete="off">
<div class="field">
<input type="text" name="email" id="email" placeholder="E-mail or Phone">
<label for="email">E-mail</label>
</div>
<div class="field">
<input type="password" name="password" id="password" placeholder="password">
<div toggle="#password-field" class="fa fa-fw fa-eye field-icon toggle-password" id="log_pass" ></div>
<label for="password">password</label>
</div>
<button type="submit" name="sbt" class="modal__form_btn">Login</button>
<a href="#" class="modal__forgot_link">Forgot Password ?</a>
</form>
Хотите войти, используя электронную почту и мобильный телефон в codeigniter.I пытался создать функцию входа в CI, используя электронную почту или телефон. Я не могу этого сделать, и $user_data
, используемый в контроллере, получает значения null
. Это главная причина моего беспокойства. Пожалуйста, помогите мне с тем же. У меня есть 3-4 типа вариантов or_where, но ни один из них не работает для меня.