Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Customer cannot login to view status


baby2boy

Recommended Posts

Posted

Please can someone help me. No customers are able to login to their accounts unless they put something in their shopping cart and then login via checkout. If nothing is in their cart they cannot login nor via the My Account login page. If the wrong details are entered it still returns 'ERROR: No match for 'E-Mail Address' and/or 'Password'.' but if you login with the correct details you just get taken back to the homepage but it still does not log you in.

 

There have been no changes to any files that I am aware of and the site has been up and running perfectly since March 2003 without a problem.

 

PLEASE HELP.

 

Many thanks in advance, I hope to hear from you soon.

 

Regards

Jon

Posted

I am running Version 2.2 CVS, I don't think it has Recreate Session? I did a source search for it and couldn't find it?

Posted
I am running Version 2.2 CVS, I don't think it has Recreate Session? I did a source search for it and couldn't find it?

 

Pretty sure it does, at the bottom of the sessions.php file

Posted

Below is the code from my session.php file.

 

  $Id: sessions.php,v 1.12 2002/04/09 11:29:24 dgw_ Exp $

 
*/

 if (STORE_SESSIONS == 'mysql') {
   if (!$SESS_LIFE = get_cfg_var('session.gc_maxlifetime')) {
     $SESS_LIFE = 1440;
   }

   function _sess_open($save_path, $session_name) {
     return true;
   }

   function _sess_close() {
     return true;
   }

   function _sess_read($key) {
     $qid = tep_db_query("select value from " . TABLE_SESSIONS . " where sesskey = '" . $key . "' and expiry > '" . time() . "'");

     $value = tep_db_fetch_array($qid);
     if ($value['value']) {
       return $value['value'];
     }

     return false;
   }

   function _sess_write($key, $val) {
     global $SESS_LIFE;

     $expiry = time() + $SESS_LIFE;
     $value = addslashes($val);

     $qid = tep_db_query("select count(*) as total from " . TABLE_SESSIONS . " where sesskey = '" . $key . "'");
     $total = tep_db_fetch_array($qid);

     if ($total['total'] > 0) {
       return tep_db_query("update " . TABLE_SESSIONS . " set expiry = '" . $expiry . "', value = '" . $value . "' where sesskey = '" . $key . "'");
     } else {
       return tep_db_query("insert into " . TABLE_SESSIONS . " values ('" . $key . "', '" . $expiry . "', '" . $value . "')");
     }
   }

   function _sess_destroy($key) {
     return tep_db_query("delete from " . TABLE_SESSIONS . " where sesskey = '" . $key . "'");
   }

   function _sess_gc($maxlifetime) {
     tep_db_query("delete from " . TABLE_SESSIONS . " where expiry < '" . time() . "'");

     return true;
   }

   session_set_save_handler('_sess_open', '_sess_close', '_sess_read', '_sess_write', '_sess_destroy', '_sess_gc');
 }

 function tep_session_start() {
   return session_start();
 }

 function tep_session_register($variable) {
   return session_register($variable);
 }

 function tep_session_is_registered($variable) {
   return session_is_registered($variable);
 }

 function tep_session_unregister($variable) {
   return session_unregister($variable);
 }

 function tep_session_id($sessid = '') {
   if ($sessid != '') {
     return session_id($sessid);
   } else {
     return session_id();
   }
 }

 function tep_session_name($name = '') {
   if ($name != '') {
     return session_name($name);
   } else {
     return session_name();
   }
 }

 function tep_session_close() {
   if (function_exists('session_close')) {
     return session_close();
   }
 }

 function tep_session_destroy() {
   return session_destroy();
 }

 function tep_session_save_path($path = '') {
   if ($path != '') {
     return session_save_path($path);
   } else {
     return session_save_path();
   }
 }

Posted
Below is the code from my session.php file.

 

  $Id: sessions.php,v 1.12 2002/04/09 11:29:24 dgw_ Exp $

 

ah thats an older version than the one that comes with MS2

 

  $Id: sessions.php,v 1.19 2003/07/02 22:10:34 hpdl Exp $

Posted

Yes, it's not MS2.2 it's just 2.2 CVS, I think from early 2003. To upgrade would be a quite large job which I don't think the company will be willing to pay for.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...