我正在开发CodeIgniter项目.. 我想将uri段从控制器传递到我自己的库。 我无法做到这一点..我尝试使用会话,但它不会工作。请帮助我..
这是我的控制器,
<?php
class insertdata extends CI_Controller{
function __construct(){
parent::__construct();
}
//#############################################################################
function updateprop(){
$this->load->library('DataEntryForms_update');
//get the uri segment
$id = $this->uri->segment(3);
//setting the session data
$this->session->set_userdata('id',$id);
$params [] = $this->uri->segment(3);
$form_name = $this->input->post('function_name');
switch ($function_name){
case 1:
$this->dataentryforms_update->function1();
break;
case 2:
$this->dataentryforms_update->function2();
break;
}
}
}
这是我的图书馆......
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class DataEntryForms_update{
protected $CI;
#######################################################
//gets the CI instance
function __construct(){
$this->CI =& get_instance();
}
#############################################################
function function1($params){
$this->params = $params;
print_r ($this->params);
$project_id = $this->CI->session->userdata('id');
echo $project_id;
die();
}
}
在库中我试图获取会话数据,但我得到会话数据'id'为0 ... 当我使用uri-&gt; segemnt(2)时。它会得到正确的值,但是uri-&gt;段(3)不起作用...请帮帮我
答案 0 :(得分:0)
要访问库中的CodeIgniter原生资源,请使用get_instance()
功能。
您必须将会话库加载到新创建的库中。您必须将会话库包含在您自己的库中。您可以将以下代码用于您尝试访问会话变量的函数中。
$CI =& get_instance();
$CI->load->helper('url');
$CI->load->library('session');
This post肯定会帮助您利用图书馆中的会话。
答案 1 :(得分:0)
在文件夹application \ libraries \ MyClass.php
中<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class MyClass {
public function myfunction() {
$CI =& get_instance();
$CI->load->helper('url');
$CI->load->library('session');
// do something else below
}
}
?>
希望它有效! :)