[英]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.