简体   繁体   English

在Codeigniter中遇到会话问题

[英]Having issue with session in codeigniter

My requirement is to save the data/value into session which i am passing it to controller via url. 我的要求是将数据/值保存到会话中,我将其通过url传递给控制器​​。

ex: www.pulseofpublic.com/mobile/user_profile/user_forms/1 ( 1 is the user id) 例如:www.pulseofpublic.com/mobile/user_profile/user_forms/1(1是用户ID)

 class user_login extends CI_Controller { public function user_forms($user_id) { $this->session->set_userdata('user_id',$user_id); $user_id = $this->session->userdata('user_id'); } } 

After running this code and open the session table in database value for user_id is "images" instead of 1. If i write "echo "xyz";" 运行此代码并打开数据库中的会话表后,user_id的值是“ images”而不是1。如果我写“ echo“ xyz”;“ before setting data into session using set_userdata. 在使用set_userdata将数据设置为会话之前。 It is user_id=1. 它是user_id = 1。

 class user_login extends CI_Controller { public function user_forms($user_id) { echo "xyz"; $this->session->set_userdata('user_id',$user_id); $user_id = $this->session->userdata('user_id'); } } 

Why is this happening, Can some please help. 为什么会发生这种情况,请提供一些帮助。 I tried lot. 我尝试了很多。

Please note :: session table is created in database and session library also loaded. 请注意::会话表是在数据库中创建的,并且会话库也已加载。

what is happening with out echo... 没有回声发生了什么...

You have to do 1 thing that before making 'user_id' a session element, just clear it or remove it from session as $this->session->unset_userdata('user_id'); 您必须做一件事,即在使“ user_id”成为会话元素之前,只需清除它或将其从会话中删除为$ this-> session-> unset_userdata('user_id');即可。

May be 'user_id' is already in session array as set by you. 可能是'user_id'已经在您设置的会话数组中。 Also just print all session data as print_r($this->session->all_userdata()); 也只需将所有会话数据打印为print_r($ this-> session-> all_userdata());

I hope it will help you. 希望对您有帮助。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM