When I click on Login button, 1) then login successfully message appears. 2) I also checked session is created successfully as I put response line $resp = array('status'=>'1','msg'=>$this->lang->line('ltr_logged_msg'),'url'=>$url);
inside condition if ($this->session->has_userdata('email'))
, it shows session is also created. 3) I also checked overall code and debug the code in browser also. I cannot find out any reason why it comes back to the login page. That’s why I am here for your assistance. I attached relevent View file code, Controller code as well as js file code so that anyone can test it. Looking forward to your guideance
In view Login.php
<form class="form" method="post" action="<?php echo base_url().'front_ajax/login'; ?>" data-redirect="yes">
<div class="edu_field_holder">
<input type="text" class="edu_form_field require" name="email" placeholder="<?php echo html_escape($this->common->languageTranslator('ltr_p_email'));?>" autocomplete="off" value="<?php echo(isset($_COOKIE['UML'])) ? base64_decode(urldecode(base64_decode($_COOKIE['UML']))) : ''; ?>">
</div>
<div class="edu_field_holder">
<input type="password" name="password" class="require edu_form_field" placeholder="<?php echo html_escape($this->common->languageTranslator('ltr_password'));?>" value="<?php echo(isset($_COOKIE['SSD'])) ? base64_decode(urldecode(base64_decode($_COOKIE['SSD']))) : ''; ?>">
</div>
<div class="col-lg-6 col-md-6 col-sm-12 col-12 text-md-right">
<button class="edu_btn edu_btn_black" id="auth_login" type="button" data-action="submitThisForm"><?php echo html_escape($this->common->languageTranslator('ltr_login'));?></button>
</div>
</form>
In Controller Front_ajax.php
function login(){
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')){
if(!empty($this->input->post('email',false)) && !empty($this->input->post('password',false))){
$email = trim($this->input->post('email',TRUE));
$pass = md5(trim($this->input->post('password',TRUE)));
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
$stud_cond = array('enrollment_id'=>$email,'password'=>$pass);
}else{
$stud_cond = array('email'=>$email,'password'=>$pass);
}
$userDetails = $this->db_model->select_data('id,name,role,status,parent_id,teach_image,email,teach_batch,teach_subject,super_admin','users use index (id)',array('email'=>$email,'password'=>$pass),1);
$studentDetails = $this->db_model->select_data('id,name,contact_no,batch_id,admin_id,enrollment_id,image,email,status,login_status','students use index (id)',$stud_cond,1);
$this->session->sess_destroy();
if(!empty($userDetails)){
if($userDetails[0]['status']=='1'){
$brewers_strings = $this->random_strings(10);
$sess_arr = array(
'uid'=> $userDetails[0]['id'],
'name'=> $userDetails[0]['name'],
'role'=> $userDetails[0]['role'],
'status'=> $userDetails[0]['status'],
'admin_id' => $userDetails[0]['parent_id'],
'profile_img' => $userDetails[0]['teach_image'],
'email' => $userDetails[0]['email'],
'mobile' => $userDetails[0]['contact_no'],
'brewers_check' => $brewers_strings,
'super_admin' => $userDetails[0]['super_admin'],
);
$url = '';
$url = base_url().'admin/dashboard';
$this->session->set_userdata($sess_arr);
$resp = array('status'=>'1','msg'=>$this->lang->line('ltr_logged_msg'),'url'=>$url);//
$this->db_model->update_data_limit('users use index (id)',$this->security->xss_clean(array('token'=>1,'brewers_check'=>$brewers_strings)),array('id'=>$userDetails[0]['id']),1);
}else{
$resp = array('status' => '0','msg' =>$this->lang->line('ltr_contact_to_admin_msg'));//
}
}
else{
$resp = array('status' => '0','msg' =>$this->lang->line('ltr_wrong_credentials_msg'));
}
}
else{
$resp = array('status' => '0','msg' =>$this->lang->line('ltr_wrong_credentials_msg'));
}
echo json_encode($resp,JSON_UNESCAPED_SLASHES);
}
else{
echo $this->lang->line('ltr_not_allowed_msg');
}
}
In login.js
$(document).ready(function(){
$('[data-action="submitThisForm"]').on('click' , function(){
var targetForm = $(this).closest('form');
if(!myCustom.checkFormFields(targetForm)){
myCustom.callFormAjax(targetForm).done(function(res){
var resp = $.parseJSON(res);
if(resp.status == 1){
if(typeof targetForm.attr('data-reset') != 'undefined' && targetForm.attr('data-reset') == 1){ //check reset form data
targetForm[0].reset();
}
if(typeof targetForm.attr('data-redirect') != 'undefined'){ //check reset form data
if(resp.msg != '')
toastr.success(resp.msg)
setTimeout(function(){
location.href = resp.url;
},1500)
}else if(resp.msg){
toastr.success(resp.msg);
}
}else if(resp.status == 2){
$.magnificPopup.open({
items: {
src: '#studentLogin',
},
type: 'inline'
});
$('#studentLogin .changeStudentLogin').attr('data-id',resp.student_id);
}
else if(resp.status == 0){
toastr.error((resp.msg)?resp.msg:resp.error);
}
});
}
});