в моем приложении Я хочу фильтровать данные в соответствии с пользователем (не для пользовательского уровня). Например, у меня есть пользователь, и когда они заходят в систему, я хочу просмотреть их собственные данные. Как я могу это сделать, используя codeigniter.i также создал сеанс в контроллере входа. и грейдер. теперь я хочу фильтровать данные с другого контроллера. Возможно ли это?Фильтровать значения базы данных в соответствии с пользователем входа
здесь мой код для сессии Вход контроллера
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);
}
}
}
это заголовок
<?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");
}
теперь я хочу, чтобы фильтровать данные в другой контроллер
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();
}
, когда я использовал выше кода для фильтрации данных, он показывает
ошибка Неопределенная переменная: идентификатор
это мой код для просмотра.
<?php foreach($post as $post){?>
<tr>
<td><?php echo $post->id ; echo ' ';?></td>
<td><?php echo $post->title ; echo ' ';?></td>
</tr>
<?php }
?>
это мой контроллер
public function index(){
$data['post'] = $this->floor_model->get_book();
$this->load->view('user_include/header');
$this->load->view('plan/floor',$data); }
пожалуйста, помогите мне
любой из есть идея плз помочь мне
когда я использую свой код он показывает ошибки называется «Недействительный аргумент для Еогеасп()» и предыдущая ошибка была исправлена и, пожалуйста, ЛФВЭ меня чтобы зафиксировал его ID ; echo ' ';?> php echo $ post-> title; эхо « »;> –
ashik
Это означает 'Неопределенная переменная: id' проблема решена – Saty
Вы должны башмак нас, где вы называете' get_book' функции от контроллера и где? использовать для цикла 'foreach' – Saty