检索会话值并在注销功能中连接到不同的数据库

时间:2017-04-25 04:03:08

标签: php codeigniter codeigniter-3

我正在尝试在会话中设置公司名称并检索相同以连接到其他数据库,我使用$ this-> session-> set_userdata($ newdata)设置会话;并使用$ companyName = $ this-> session-> userdata [' newdata'] [' company']检索会话;但不知何故检索没有发生,我无法加载正确的数据库来更新注销信息,即它只是不通过连接到不同的数据库来更新pr_system_attendance表。如果我回应$ company,我会得到正确的价值;在$ company = $ row1-> company之后;这是FYI

我的型号代码如下:



		function check_admin_login(){
			
			$this->db->where('username', trim($this->input->post('username')));
			$this->db->where('userpass ', sha1(trim($this->input->post('userpass'))));
			$this->db->where('status', '1');
			$this->db->where('deleted', '0');
			$this->db->select('*');
			$query = $this->db->get($this->myTables['users']);
			if($query->num_rows() > 0){
				$row = $query->row();
				$this->db->where('userid', $row->id);
				$this->db->select('firstname,lastname,profileimage,company');
				$query1 = $this->db->get($this->myTables['users_details']);
				$row1 = $query1->row();
				$newdata = array(
									'is_admin_logged_in' => true,
									'admin_user_name' => $row->username,
									'admin_userpass' => $row->userpass,
									'admin_id'=>$row->id,
									'admin_lastlogin'=>date("d-m-Y H:i:s",$row->lastlogin),
									'admin_lastloginip'=>$row->lastloginip,
									'lastrefresh'=>time(),
									'company'=>$row1->company 
							);
							$company = $row1->company;
					$this->session->set_userdata($newdata);	
				$companyName = $this->session->userdata['newdata']['company'];
			
				$this->update_admin_login_time($this->session->userdata('admin_id'));
				$this->admin_init_elements->set_global_user($row->username,$row->userpass);
				if($this->input->post('remember'))
				{
					$cookie = array('name'   => 'username','value'  => $row->username,'expire' =>  time()+7600,'secure' => false);
					$this->input->set_cookie($cookie);
				}
				$name = $row1->firstname.' '.$row1->lastname;
				$cookie1 = array('name'   => 'name','value'  => $name,'expire' =>  time()+7600,'secure' => false);
				$this->input->set_cookie($cookie1); 
				$cookie2 = array('name'   => 'image','value'  => $row1->profileimage,'expire' =>  time()+7600,'secure' => false);
				$this->input->set_cookie($cookie2); 
				
				
				return 'Login Successful';
			}else{
				return 'Incorrect Username or Password.';
			}
			
		}
		function logout()
		{
			global $USER;
			$companyName = $this->session->userdata['newdata']['company'];
		
			$otherdb = $this->load->database("$companyName", TRUE);

			$this->db->from("$companyName"."pr_users");
			$query1 = $this->db->query("Select * from pr_system_attendance where userid = '".$USER->id."' and DATE(`login_time`) = CURDATE()");
			date_default_timezone_set('Asia/Calcutta');
			if($query1->num_rows() > 0)
			{
				$row = $query1->row();
				
				$sql1 = "UPDATE pr_system_attendance set logout_time = '".date('Y-m-d H:i:s')."'  where userid = '".$USER->id."' and DATE(`login_time`) = CURDATE()";
				
				
				
				$query2 = $this->db->query($sql1);
				
				
			}
			$sql="UPDATE `".$this->myTables['users']."` SET 
					`if_online` = '0'
					 WHERE `id` = '".$USER->id."'" ;
			$query=$this->db->query($sql);	
			
		}




1 个答案:

答案 0 :(得分:1)

使用以下代码行获取会话数据

//$companyName = $this->session->userdata['newdata']['company'];
$companyName = $this->session->userdata('company');