0
我想在會話中設置公司名稱並檢索相同的連接到不同的數據庫,我設置會話使用$ this-> session-> set_userdata ($ newdata);並使用$ companyName = $ this-> session-> userdata ['newdata'] ['company']檢索會話。但不知何故檢索沒有發生,我無法加載正確的數據庫更新註銷信息,即它不會通過連接到不同的數據庫更新pr_system_attendance表。如果我回復$ company,我會得到正確的值;在$ company = $ row1-> company後面;這是FYI檢索會話值並連接到不同的數據庫在註銷功能
我的模型代碼如下:
\t \t function check_admin_login(){
\t \t \t
\t \t \t $this->db->where('username', trim($this->input->post('username')));
\t \t \t $this->db->where('userpass ', sha1(trim($this->input->post('userpass'))));
\t \t \t $this->db->where('status', '1');
\t \t \t $this->db->where('deleted', '0');
\t \t \t $this->db->select('*');
\t \t \t $query = $this->db->get($this->myTables['users']);
\t \t \t if($query->num_rows() > 0){
\t \t \t \t $row = $query->row();
\t \t \t \t $this->db->where('userid', $row->id);
\t \t \t \t $this->db->select('firstname,lastname,profileimage,company');
\t \t \t \t $query1 = $this->db->get($this->myTables['users_details']);
\t \t \t \t $row1 = $query1->row();
\t \t \t \t $newdata = array(
\t \t \t \t \t \t \t \t \t 'is_admin_logged_in' => true,
\t \t \t \t \t \t \t \t \t 'admin_user_name' => $row->username,
\t \t \t \t \t \t \t \t \t 'admin_userpass' => $row->userpass,
\t \t \t \t \t \t \t \t \t 'admin_id'=>$row->id,
\t \t \t \t \t \t \t \t \t 'admin_lastlogin'=>date("d-m-Y H:i:s",$row->lastlogin),
\t \t \t \t \t \t \t \t \t 'admin_lastloginip'=>$row->lastloginip,
\t \t \t \t \t \t \t \t \t 'lastrefresh'=>time(),
\t \t \t \t \t \t \t \t \t 'company'=>$row1->company
\t \t \t \t \t \t \t);
\t \t \t \t \t \t \t $company = $row1->company;
\t \t \t \t \t $this->session->set_userdata($newdata); \t
\t \t \t \t $companyName = $this->session->userdata['newdata']['company'];
\t \t \t
\t \t \t \t $this->update_admin_login_time($this->session->userdata('admin_id'));
\t \t \t \t $this->admin_init_elements->set_global_user($row->username,$row->userpass);
\t \t \t \t if($this->input->post('remember'))
\t \t \t \t {
\t \t \t \t \t $cookie = array('name' => 'username','value' => $row->username,'expire' => time()+7600,'secure' => false);
\t \t \t \t \t $this->input->set_cookie($cookie);
\t \t \t \t }
\t \t \t \t $name = $row1->firstname.' '.$row1->lastname;
\t \t \t \t $cookie1 = array('name' => 'name','value' => $name,'expire' => time()+7600,'secure' => false);
\t \t \t \t $this->input->set_cookie($cookie1);
\t \t \t \t $cookie2 = array('name' => 'image','value' => $row1->profileimage,'expire' => time()+7600,'secure' => false);
\t \t \t \t $this->input->set_cookie($cookie2);
\t \t \t \t
\t \t \t \t
\t \t \t \t return 'Login Successful';
\t \t \t }else{
\t \t \t \t return 'Incorrect Username or Password.';
\t \t \t }
\t \t \t
\t \t }
\t \t function logout()
\t \t {
\t \t \t global $USER;
\t \t \t $companyName = $this->session->userdata['newdata']['company'];
\t \t
\t \t \t $otherdb = $this->load->database("$companyName", TRUE);
\t \t \t $this->db->from("$companyName"."pr_users");
\t \t \t $query1 = $this->db->query("Select * from pr_system_attendance where userid = '".$USER->id."' and DATE(`login_time`) = CURDATE()");
\t \t \t date_default_timezone_set('Asia/Calcutta');
\t \t \t if($query1->num_rows() > 0)
\t \t \t {
\t \t \t \t $row = $query1->row();
\t \t \t \t
\t \t \t \t $sql1 = "UPDATE pr_system_attendance set logout_time = '".date('Y-m-d H:i:s')."' where userid = '".$USER->id."' and DATE(`login_time`) = CURDATE()";
\t \t \t \t
\t \t \t \t
\t \t \t \t
\t \t \t \t $query2 = $this->db->query($sql1);
\t \t \t \t
\t \t \t \t
\t \t \t }
\t \t \t $sql="UPDATE `".$this->myTables['users']."` SET
\t \t \t \t \t `if_online` = '0'
\t \t \t \t \t WHERE `id` = '".$USER->id."'" ;
\t \t \t $query=$this->db->query($sql); \t
\t \t \t
\t \t }
感謝ü,這解決了它 – shank