[eluser]Vadorequest[/eluser]
Hi,
I'm sorry for my bad english, I'm French.
I don't understand how works the CI sessions. (I autoload the 'session' library)
When I will change the current language in my website and the language used is invalid I do:
Code:
add_error('La langue sélectionnée est incorrecte ou non gérée.');
The add_error function is defined in helpers/error_helpers.php:
Code:
/**
* Add Error
*
* Add an error to the var error in CI session.
*
* @access public
* @param string
* @param bool
*/
if ( ! function_exists('add_error'))
{
function add_error($message, $displayed = false)
{
$CI =& get_instance();
$errors = $CI->session->userdata('errors');
if($errors == false){
$errors = array();
}
$nbErrors = count($errors);
$errors[$nbErrors]['message'] = $message;
$errors[$nbErrors]['displayed'] = $displayed;
$CI->session->set_userdata('errors', $errors);
}
}
If I do
Code:
var_dump($CI->session->all_userdata());
at the final line (in add_error()) he displayed normally my sessions vars.
But, if after, in my view, I do:
Code:
<?php $CI =& get_instance(); echo "<pre>";var_dump($CI->session->all_userdata());?>
He displayed only the basic session data (user agent, etc.) others vars has been destroyed.
In my BDD I have:
session_id: f17c49e7aafa6734d03d5666ea01eeca
user_data: a:2:{s:9:"user_data";s:0:"";s:6:"errors";a:1:{i:0;a:2:{s:7:"message";s:55:"La langue sélectionnée est incorrecte ou non gérée.";s:9:"displayed";b:0;}}}
But the current session_id is not: f17c49e7aafa6734d03d5666ea01eeca
After every refresh my session_id changes. Normally ?
This my current config in config/config.php:
Code:
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 0;
$config['sess_expire_on_close'] = TRUE;
$config['sess_encrypt_cookie'] = TRUE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'Vado_Session';
$config['sess_match_ip'] = TRUE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
Can you help me ? Thanks.