Php 根据登录用户筛选数据库值
在我的应用程序中,我想根据用户筛选数据(不是针对用户级别)。例如,我有一个用户,当他们登录到系统时,我想查看他们自己的数据。我如何使用codeigniter做到这一点。我还在login controller中创建了一个会话。还有海斯特。现在我想过滤来自另一个控制器的数据。可能吗 这里是登录控制器中会话的代码Php 根据登录用户筛选数据库值,php,mysql,codeigniter,session,Php,Mysql,Codeigniter,Session,在我的应用程序中,我想根据用户筛选数据(不是针对用户级别)。例如,我有一个用户,当他们登录到系统时,我想查看他们自己的数据。我如何使用codeigniter做到这一点。我还在login controller中创建了一个会话。还有海斯特。现在我想过滤来自另一个控制器的数据。可能吗 这里是登录控制器中会话的代码 public function user_login_process() { $this->form_validation->set_rules('email', 'Emai
public function user_login_process() {
$this->form_validation->set_rules('email', 'Email', 'trim|required|xss_clean');
$this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean');
if ($this->form_validation->run() == FALSE) {
if(isset($this->session->userdata['logged_in'])){
//$this->load->view('admin_page');
$this->home();
}else{
$this->load->view('user_site/login_form');
}
} else {
$data = array(
'email' => $this->input->post('email'),
'password' => $this->input->post('password')
);
$result = $this->login_database->login($data);
if ($result == TRUE) {
$email = $this->input->post('email');
$result = $this->login_database->read_user_information($email);
if ($result != false) {
$session_data = array(
'firstname' => $result[0]->firstname,
'email' => $result[0]->email,
'id' => $result[0]->id,
);
// Add user data in session
$this->session->set_userdata('logged_in', $session_data);
//$this->load->view('index');
// $this->home();
$this->load->view("user_include/header");
$this->load->view('user_site/index');
}
} else {
$data = array(
'error_message' => 'Invalid Username or Password'
);
$this->load->view('user_site/login_form', $data);
}
}
}
function get_book(){
$this->db->select("book.id,book.title");
$this->db->where("user_id = $id");
$this->db->from('book');
$query = $this->db->get();
return $query->result();
}
public function index(){
$data['post'] = $this->floor_model->get_book();
$this->load->view('user_include/header');
$this->load->view('plan/floor',$data); }
这是标题
<?php
if (isset($this->session->userdata['logged_in'])) {
$firstname = ($this->session->userdata['logged_in']['firstname']);
$email = ($this->session->userdata['logged_in']['email']);
$id = ($this->session->userdata['logged_in']['id']);
} else {
header("location: login");
}
当我使用上面的代码过滤数据时,它显示了一个
错误:未定义变量:id
这是我的视图代码
<?php foreach($post as $post){?>
<tr>
<td><?php echo $post->id ; echo ' ';?></td>
<td><?php echo $post->title ; echo ' ';?></td>
</tr>
<?php }
?>
将
id
存储在会话变量中。为了得到你用过的这个
$id = $this->session->userdata['logged_in']['id'];
模型
将
id
存储在会话变量中。为了得到你用过的这个
$id = $this->session->userdata['logged_in']['id'];
模型
当我使用您的代码时,它显示名为“为foreach()提供的参数无效”的错误,之前的错误已修复,请帮助我修复它。您必须告诉我们从控制器调用
get_book
函数的位置以及foreach
的使用位置。是的,问题已解决。这是我的控制器**公共功能索引(){$data['post']=$this->floor_model->get_book();//$this->load->view('user_include/header');$this->load->view('plan/floor',$data);}**请为此写一个新问题,并附上代码和错误。不要把你的代码贴在注释里,也不要让它看不懂。将这个问题转化为更新的答案,并确保您在Consrtuctor中调用模型文件。当我使用您的代码时,它显示了一个名为“为foreach()提供的参数无效”的错误之前的错误已经修复,请帮助我修复。您必须告诉我们您在哪里调用控制器的get_book
函数,以及在哪里使用foreach
循环。是的,问题已经解决。这是我的控制器**公共功能索引(){$data['post']=$this->floor_model->get_book();//$this->load->view('user_include/header');$this->load->view('plan/floor',$data);}**请为此写一个新问题,并附上代码和错误。不要把你的代码贴在注释里,也不要让它看不懂。为了尝试更新答案,请回答这个问题,并确保您在consrtuctor中调用了模型文件