php - Codeigniter view file displayed before facebook login -
i have integrated facebook connect in codeigniter application, have come across weird glitch.
the process in login controller follows:
- check if user has facebook session
- if user logged facebook , has given permission, should redirected profile page on application
- if no session, or if user logged facebook no permissions given, login form(view file) should displayed no redirect
the problem facing is, if user has facebook logged in , given permissions , if accesses login page, login form displayed briefly, , after second or two, redirected profile page. why login form displayed? after code $this->load->view('login_form');
executes @ last line of controller after checking above.
so right now, occurs login_form view file displayed first, , checks facebook session , after redirects.
added controller code:
$this->load->library('facebook'); $user = $this->facebook->getuser(); if($user) { try{ $fb_data = $this->facebook->api('/me'); } catch(facebookapiexception $e) { error_log('from login: ' . $e); $user = null; } } if($user) { //below line checks if facebook email in database if($this->ion_auth->email_check($fb_data['email']) { redirect('my_profile'); } } //user not logged in display login page $this->load->view('login_form');
and on login form, using facebook javascript connect button. pressing button opens facebook oauth dialog page, , after executing, original login page refreshed javascript.
$this->load->library('facebook'); $user = $this->facebook->getuser(); if($user) { try{ $fb_data = $this->facebook->api('/me'); } catch(facebookapiexception $e) { error_log('from login: ' . $e); $user = null; } } if($user) { //below line checks if facebook email in database if($this->ion_auth->email_check($fb_data['email']) { redirect('my_profile'); } }else{ //user not logged in display login page $this->load->view('login_form'); }
the code still being executed because has not been told otherwise, try , see.
Comments
Post a Comment