@@ -1026,10 +1026,10 @@ function login()
10261026 $ data ['user ' ] = $ query ->row ();
10271027
10281028 // Read the cookie remeber_me and log the user in
1029- if ($ this ->input ->cookie (config_item ('cookie_prefix ' ) . 'remember_me ' )) {
1029+ $ remember_me_cookie = $ this ->input ->cookie (config_item ('cookie_prefix ' ) . 'remember_me ' );
1030+ if ($ remember_me_cookie && !empty ($ remember_me_cookie )) {
10301031 try {
1031- $ encrypted_string = $ this ->input ->cookie (config_item ('cookie_prefix ' ) . 'remember_me ' );
1032- $ decrypted_string = $ this ->encryption ->decrypt ($ encrypted_string );
1032+ $ decrypted_string = $ this ->encryption ->decrypt ($ remember_me_cookie );
10331033 $ this ->user_model ->update_session ($ decrypted_string );
10341034 $ this ->user_model ->set_last_login ($ decrypted_string );
10351035
@@ -1038,7 +1038,7 @@ function login()
10381038 redirect ('dashboard ' );
10391039 } catch (Exception $ e ) {
10401040 // Something went wrong with the cookie
1041- log_message ('error ' , 'Remember Me Login Failed ' );
1041+ log_message ('error ' , 'Remember Me Login Failed: ' . $ e -> getMessage () );
10421042 $ this ->session ->set_flashdata ('error ' , 'Remember Me Login Failed ' );
10431043 redirect ('user/login ' );
10441044 }
@@ -1054,6 +1054,25 @@ function login()
10541054 $ this ->session ->set_flashdata ('notice ' , 'User logged in ' );
10551055 $ this ->user_model ->update_session ($ data ['user ' ]->user_id );
10561056 $ this ->user_model ->set_last_login ($ data ['user ' ]->user_id );
1057+
1058+ log_message ('debug ' , 'Login successful - Session ID: ' . session_id ());
1059+ log_message ('debug ' , 'Login successful - user_id in session: ' . $ this ->session ->userdata ('user_id ' ));
1060+
1061+ // Set a backup auth cookie as workaround for session issues
1062+ $ user_id = $ this ->session ->userdata ('user_id ' );
1063+ if ($ user_id ) {
1064+ $ encrypted_user_id = $ this ->encryption ->encrypt ($ user_id );
1065+ setcookie ('cloudlog_auth ' , $ encrypted_user_id , [
1066+ 'expires ' => time () + 86400 , // 24 hours
1067+ 'path ' => '/ ' ,
1068+ 'domain ' => '' ,
1069+ 'secure ' => false ,
1070+ 'httponly ' => true ,
1071+ 'samesite ' => ''
1072+ ]);
1073+ log_message ('debug ' , 'Set backup auth cookie for user_id: ' . $ user_id );
1074+ }
1075+
10571076 $ cookie = array (
10581077
10591078 'name ' => 'language ' ,
@@ -1075,6 +1094,14 @@ function login()
10751094 );
10761095 $ this ->input ->set_cookie ($ cookie );
10771096 }
1097+
1098+ log_message ('debug ' , 'About to redirect - Session ID: ' . session_id ());
1099+ log_message ('debug ' , 'Session cookie name: ' . session_name ());
1100+ log_message ('debug ' , 'Session data: ' . print_r ($ _SESSION , true ));
1101+
1102+ // Force session to save
1103+ session_commit ();
1104+
10781105 redirect ('dashboard ' );
10791106 } else {
10801107 $ this ->session ->set_flashdata ('error ' , 'Incorrect username or password! ' );
@@ -1091,6 +1118,9 @@ function logout()
10911118
10921119 // Delete remember_me cookie
10931120 setcookie ('remember_me ' , '' , time () - 3600 , '/ ' );
1121+
1122+ // Delete backup auth cookie
1123+ setcookie ('cloudlog_auth ' , '' , time () - 3600 , '/ ' );
10941124
10951125 $ this ->user_model ->clear_session ();
10961126
0 commit comments