【问题标题】:Filter Data Using Session Id使用会话 ID 过滤数据
【发布时间】:2015-11-17 09:55:18
【问题描述】:

我想使用会话 ID 过滤数据。有一个如下表。

id   | user_id | plan
  1  | 1       |.sjhsjh.jpg
  2  | 2       |bchdj.jpg

我想根据登录 user.user id 过滤那个数据库值,它是用户表的外键。以前过滤过,现在不行了。

型号

function get_plan(){

$this->db->select("floor_plan.id,floor_plan.image"); 
$this->db->where("user_id",$this->session->userdata['logged_in']['id']); 
$this->db->from('floor_plan');
$query = $this->db->get();
return $query->result();

会话

<?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");
}

【问题讨论】:

  • 这是您访问会话数据的错误方式。使用$this-&gt;session-&gt;userdata('firstname') 而不是$this-&gt;session-&gt;userdata['logged_in']['firstname'] 在发布错误消息之后,您会收到
  • 另外,在模型中访问会话是一种不好的做法。尝试将参数添加到您的 get_plan() 函数并从控制器发送 id(使用会话)。
  • 但我的问题并不慢
  • 您是否收到任何错误消息?您可以将var_dump($this-&gt;session); exit() 放入您的模型方法并发布输出吗?
  • 没有。没有任何错误信息。好的确定

标签: mysql codeigniter session


【解决方案1】:

改变模型如下。

    function get_plan(){
       $userdata=$this->session->userdata('logged_in');
       $this->db->select("floor_plan.id,floor_plan.image"); 
         $this->db->where("user_id",$userdata['id']); 
        $this->db->from('floor_plan');
      $query = $this->db->get();
      return $query->result();

       }

会话更改如下。

     <?php
     if (isset($this->session->userdata('logged_in'))) {
       $userdata=$this->session->userdata('logged_in');
     $firstname = $userdata['firstname'];
     $email = $userdata['email'];
    $id = $userdata['id'];
   } else {
    redirect("login/index");
    }

【讨论】:

  • 致命错误:无法在 C:\xampp\htdocs\RCJconstructions\application\ 中对函数调用的结果使用 isset()(您可以改用“null !== func()”)第 29 行的views\user_include\header.php
  • if (NULL !==($this->session->userdata('logged_in'))) { $userdata=$this->session->userdata('logged_in'); $firstname = $userdata['firstname']; $email = $userdata['email']; $id = $userdata['id']; } else { 重定向(“登录/索引”); } 然后我的视图显示没有找到结果。但是在数据库中这个用户 ID 下有一个值
  • id ;回声'   ';?> ";?> 没有找到要显示的记录
  • @ashik 你在哪里调用控制器中的模型函数?
  • 公共函数索引(){ $data['post'] = $this->floor_model->get_plan(); // 调用 Post 模型方法 getPosts() $this->load->view('user_include/header'); $this->load->view('plan/floor',$data); }
猜你喜欢
  • 1970-01-01
  • 2011-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-25
相关资源
最近更新 更多