4

I'm working on CodeIgniter login with ION auth plugin. I don't know why, but I have this behavior: I fill login form, send it, user is matched, CI save this data into "user_data" column in default_ci_sessions table and I reload page and user is still not logged in and in table default_ci_sessions is created new row with empty "user_data" column. Do you know, where might be problem? Here is my config for sessions:

$config['sess_cookie_name']     = 'pyrocms' . (ENVIRONMENT !== 'production' ? '_' . ENVIRONMENT : '');
$config['sess_expiration']      = 0;
$config['sess_expire_on_close'] = TRUE;
$config['sess_encrypt_cookie']  = TRUE;
$config['sess_use_database']    = TRUE;
// don't change anything but the 'ci_sessions' part of this. The MSM depends on the 'default_' prefix
$config['sess_table_name']      = 'default_ci_sessions';
$config['sess_match_ip']        = TRUE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update']  = 300;

Solved. I need to set cookie settings to this:

$config['cookie_prefix']    = "";
$config['cookie_domain']    = "";
$config['cookie_path']      = "";
Vadim Kotov
  • 8,084
  • 8
  • 48
  • 62
Jan Kožušník
  • 683
  • 3
  • 16
  • 30
  • 7
    Please consider answering your own question via a self-accepted answer so this is marked as answered and doesn't come up in searches for open q's. – Steve Chambers Mar 14 '16 at 16:44

1 Answers1

-1

I can see that you answered the problem yourself, but to add a solution to make it easier to find for others with the same problem, I have added it here with some more explanation for why it is the solution.

Your Full code:

$config['sess_cookie_name']     = 'pyrocms' . (ENVIRONMENT !== 'production' ? '_' . ENVIRONMENT : '');
$config['sess_expiration']      = 0;
$config['sess_expire_on_close'] = TRUE;
$config['sess_encrypt_cookie']  = TRUE;
$config['sess_use_database']    = TRUE;
$config['sess_table_name']      = 'default_ci_sessions';
$config['sess_match_ip']        = TRUE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update']  = 300;

//Added code to fix issue 
$config['cookie_prefix']    = "";
$config['cookie_domain']    = "";
$config['cookie_path']      = "/";
  • $config['cookie_prefix'] Sets a prefix if you need to avoid collisions
  • $config['cookie_domain']; Set to .your-domain.com for site-wide cookies
  • $config['cookie_path']; Typically will be a forward slash

setting each equal to "" pretty much makes sure that cookies are set for the entire domain.

Frederik Petersen
  • 1,025
  • 3
  • 16
  • 30
  • 2
    copy-and-paste OP own solution is not the better way to act. At least, you can change code formatting, and add some details. Are you so lazy? :/ – fusion3k Mar 15 '16 at 16:29
  • He was asked to post it as a solution to the problem since he has solved it himself. If he posts it himself I'll remove it. If he does not then it's at least easier for him now to add a solution. An issue with having the solution as part of the question is that it is hard to see for those visiting looking for a solution. This also makes the solution easier to see. – Frederik Petersen Mar 15 '16 at 16:55