I have developed Codeigniter back-end and I want to use same controllers with Ionic 3 application. Ionic 3 login works perfect with back-end controller and creates session and I store user data in the session variable. When I access another controller via Ionic 3 after login success, it has no any user data in the session. I need to keep session data until it destroy on logout because user data is used in each controller access whether user is logged in or not. Here is my code.
//main login function
function user_login(){
//Allow Cross origin
header('Access-Control-Allow-Origin:*');
$username = $this->input->post('username');
$password = MD5($this->input->post('password'));
$data = array('status'=>false,'message'=>'','data'=>'');
//check a session exists,if not create new
if(!$this->session->userdata('username')){
$user_data = array(
'username' => $username,
'attempts' => 0,
'logged_in' => false
);
$this->session->set_userdata($user_data);
}
$attempts = $this->session->userdata('attempts'); //get number of tried attempts
$this->session->set_userdata('attempts',($attempts + 1));//increse number of attempts from one
{
$lognError = $this->login_model->get_data_from_login_error_table($username);
$b = true;
if(sizeof($lognError) > 0){
$trialsCount = $lognError['trials_count']; //get number of attempts that tried
if($trialsCount >= 25){
$b = false;
}
}
if($b == true){
$is_login = $this->login_model->login($username,$password);
if($is_login != null) {
$this->session->set_userdata('loged_in', true);
$this->session->set_userdata($is_login);
$this->session->set_userdata('user_details', $user_details);
} else {
$data['status'] = false;
$data['message'] = 'Incorrect username or password';
}
}
}
// }
echo json_encode($data);
}
//Checking whether user logged or not
public function is_login(){
$details = $this->session->userdata('username');
$is_loged_in = $this->session->userdata('loged_in');
if(!$details || !$is_loged_in) {
redirect('login');
}
}
$this->session->userdata(‘username’); returns null when I access via Ionic 3 but works fine with browser. How can I use PHP backend with ionic 3?
Help me out to solve this problem. Thanks in advanced.