I have created a login system in codeigniter project, which is working fine in Firefox but doesn\'t work in Chrome, data fetch and set for session but when this code redirec
I know this is a late answer but if you're looking for a good solution here it is: use this code as the logging out code:
$this->session->sess_destroy();
This will insure removal of session "ci_session" which is the main reason you can't save a new session, hope it helps
I encountered the same problem in and finally manage to solve it by updating the sessions database table with the sql structure from the latest version of Codeigniter at this time, version 2.1.4.
CREATE TABLE IF NOT EXISTS `ci_sessions` (
session_id varchar(40) DEFAULT '0' NOT NULL,
ip_address varchar(45) DEFAULT '0' NOT NULL,
user_agent varchar(120) NOT NULL,
last_activity int(10) unsigned DEFAULT 0 NOT NULL,
user_data text NOT NULL,
PRIMARY KEY (session_id),
KEY `last_activity_idx` (`last_activity`)
);
Also note that if you have multiple databases configured in the config/database.php, the session table using the the session table of the default configuration's databse.
I have also faced this situation and fixed it by increasing session expiry to one day.
UPDATE
This problem occurs due to difference between timezones of user and webserver location e.g. I live in Pakistan which is 10 hours ahead of US timezone and my server is in US. I request the page at 17/10/2012 14:00 at Pakistan time. The time in US is 17/10/2012 4:00 since webserver is in US and session expiry is set to 2 hours the cookie sent by server is set to expire at 17/10/2012 6:00. Now browser interacts with your local pc time and it gets time 17/10/2012 14:00 therefore it deletes the cookie or your cookie always refreshed on your request. Therefore its best to set session expiry to 1 day because the largest timezone difference is 17 hours between new zealand and US (i am not sure about difference may be i am wrong). So your cookie will at least keep alive for 7 hours
Did you check that you are storing session for a longer time and it is not destroyed early.Or may be it has to do with chrome settings for accepting session and cookies data as there is no such code in codeigniter which will work on Firefox and it will not work on chrome.Also make sure you are auto loading your 'session' library.