无法从codeigniter中的会话中获取特定数据

时间:2016-06-09 17:23:55

标签: php codeigniter

控制器:逻辑部分

  public function get_shipping_info()
    {
     $query=$this->db->query('select * from shipping;');
     return $query->result();
    }
  public function get_payment_info()
    {
     $query=$this->db->query('select * from payment;');
     return $query->result();
    }

模型:从数据库中获取数据

        print_r($this->session->userdata('shipping'));
        echo "<br/>";
        echo "<br/>";
        print_r($this->session->userdata('pay'));

查看:此处是我要向用户显示的视图

let world = self.childNodeWithName("world")
let ship = world!.childNodeWithName("ship") as! BasicShip
ship.thruster1.throttle = 0.5
ship.thruster2.throttle = 0.5

2 个答案:

答案 0 :(得分:0)

取决于您是否自动加载会话库,我们需要包含会话库:

$this->load->library('session');

然后你就可以得到会话了:

$session_id = $this->session->userdata('SessionID');

仍然无法获取然后尝试存储数组而不是stdClass对象。

这能满足您的需求吗?

答案 1 :(得分:0)

您正在设置此'shipping''pay'的会话。但是在您的会话中没有为此创建变量。

$newdata = array(
    'shipping'  => 'shipping_123',
    'pay'     => 'pay_456'
);

$this->session->set_userdata($newdata);

并重新启动会话,您可以使用

echo($this->session->userdata('shipping')); # Outputs shipping_123
echo($this->session->userdata('pay')); # Outputs pay_456
  

在查看代码时,我认为您需要将数据从控制器传递到视图。如果真的提到它

阅读本文

  1. Session Library - Codeigniter.com