Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在登录codeigniter期间将用户id设置为会话,并将此用户id访问多个功能?_Codeigniter_Codeigniter 2 - Fatal编程技术网

如何在登录codeigniter期间将用户id设置为会话,并将此用户id访问多个功能?

如何在登录codeigniter期间将用户id设置为会话,并将此用户id访问多个功能?,codeigniter,codeigniter-2,Codeigniter,Codeigniter 2,登录codeigniter并访问此用户id以访问多个功能时,用户id设置为会话?必须防止直接访问url public function loginaction() { $this->load->library('session'); $a=$this->input->post('email'); $b=trim($this->input->post('pa

登录codeigniter并访问此用户id以访问多个功能时,用户id设置为会话?必须防止直接访问url

public function loginaction()

  {

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

                        $a=$this->input->post('email');
            $b=trim($this->input->post('password'));
                        $b1=md5($b);
                        $c=1;
//                        echo $a;
//                        echo $b1;
                        $data=$this->userdata->userlogin($a,$b1,$c);
//                        print_r($data);
//                        exit;
            if($data)
                        {

                    echo true;
                    foreach ($data as $login)
                    {
                        $uid=$this->session->set_userdata('logId',$login->usr_id);
                             //redirect(base_url() . 'main/userhome' . $uid, 'refresh');    
                    }
            }
            else
            {
                echo "Invalid username or password..!!!!";
                                  $a=$this->input->post('email');

            }
  }
这是我的会话设置代码。我希望在主页中显示此用户ID。我如何获取它

<script>
function myFunction()
{


    $.ajax({
            type: "POST",
            url: "<?php echo base_url()?>Main/loginaction",
            data:{email:document.getElementById('email').value,password:document.getElementById('password').value},
            success: function(data){

        alert(data);

                if(data==true)
                window.location.replace('<?php echo base_url()?>Main/userhome');

            }
            });     
    }
</script>

我猜您正在使用数据库存储会话

现在访问会话中的数据: 首先初始化会话库:

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

另外,如果要打印所有用户会话数据,则可以执行以下操作:

echo $this->session->all_userdata();
希望这有助于:

要在整个项目中使用它,您可以创建一个基本控制器并在那里初始化会话库,然后将所有控制器扩展到该基本控制器

你可以这样做:

<?php
class MY_Controller extends CI_Controller {

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

  }

就CodeIgniter而言,会话只是一个包含以下信息的数组:

用户的唯一会话ID这是一个具有很强熵的统计随机字符串,使用MD5散列以便于移植,默认情况下每五分钟重新生成一次 用户的IP地址 用户的用户代理数据包含浏览器数据字符串的前120个字符 最后一个活动时间戳。 上述数据存储在cookie中,作为具有此原型的序列化数组:

[array]
(
     'session_id'    => random hash,
     'ip_address'    => 'string - user IP address',
     'user_agent'    => 'string - user agent data',
     'last_activity' => timestamp
)
正在检索会话数据:

$this->session->userdata('session_id');
有一件事你必须使用: ->手动导入会话库的步骤

$this->load->library('session');
->或者在application/config/autoload.php中添加“session”,如下所示:

$autoload['libraries'] = array('database,session');

注意:您可以像逗号分隔的值一样直接包含库。

此值是否适用于整个项目?会话类是否可用。
$this->load->library('session');
$autoload['libraries'] = array('database,session');