Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

sessions error .. please help


oslover

Recommended Posts

Hi,

 

I am having trouble with sessions.. when I try to do tests on the live store i see this error

 

Fatal error: session_start(): Failed to initialize storage module. in /home/httpd/vhosts/mydomain.com/httpdocs/includes/functions/sessions.php on line 67

 

 

Also in the admin side.

 

Fatal error: session_start(): Failed to initialize storage module. in /home/httpd/vhosts/mydomain.com/httpdocs/admin/includes/functions/sessions.php on line 67

 

So, i always have to either refresh or go back to the previous page.

 

Please help me ..

Link to comment
Share on other sites

Hi since yesterday I haven't got any reply any assistance, please help me it is really urgent and thank you so much

/includes/functions/sessions.php on line 67 says what?

Link to comment
Share on other sites

hi thank you for your reply after a long time, these are the lines 66,67,68

 

function tep_session_start() {
return session_start();
 }

You seem to be missing some code, did it come that way or did you remove it. I have

function tep_session_start() {

global $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS;

 

$sane_session_id = true;

 

if (isset($HTTP_GET_VARS[tep_session_name()])) {

if (preg_match('/^[a-zA-Z0-9]+$/', $HTTP_GET_VARS[tep_session_name()]) == false) {

unset($HTTP_GET_VARS[tep_session_name()]);

 

$sane_session_id = false;

}

} elseif (isset($HTTP_POST_VARS[tep_session_name()])) {

if (preg_match('/^[a-zA-Z0-9]+$/', $HTTP_POST_VARS[tep_session_name()]) == false) {

unset($HTTP_POST_VARS[tep_session_name()]);

 

$sane_session_id = false;

}

} elseif (isset($HTTP_COOKIE_VARS[tep_session_name()])) {

if (preg_match('/^[a-zA-Z0-9]+$/', $HTTP_COOKIE_VARS[tep_session_name()]) == false) {

$session_data = session_get_cookie_params();

 

setcookie(tep_session_name(), '', time()-42000, $session_data['path'], $session_data['domain']);

 

$sane_session_id = false;

}

}

 

if ($sane_session_id == false) {

tep_redirect(tep_href_link(FILENAME_DEFAULT, '', 'NONSSL', false));

}

 

return session_start();

Link to comment
Share on other sites

yes my code is different from yours , it is a template, i bought it. Here is all the sessions.php code. i don't know what's wrong with it.

 

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

 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2003 osCommerce

 Released under the GNU General Public License
*/

 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) {
  $value_query = tep_db_query("select value from " . TABLE_SESSIONS . " where sesskey = '" . tep_db_input($key) . "' and expiry > '" . time() . "'");
  $value = tep_db_fetch_array($value_query);

  if (isset($value['value'])) {
	return $value['value'];
  }

  return false;
}

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

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

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

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

function _sess_destroy($key) {
  return tep_db_query("delete from " . TABLE_SESSIONS . " where sesskey = '" . tep_db_input($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) {
global $session_started;

if ($session_started == true) {
  return session_register($variable);
} else {
  return false;
}
 }

 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 (!empty($sessid)) {
  return session_id($sessid);
} else {
  return session_id();
}
 }

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

 function tep_session_close() {
if (PHP_VERSION >= '4.0.4') {
  return session_write_close();
} elseif (function_exists('session_close')) {
  return session_close();
}
 }

 function tep_session_destroy() {
return session_destroy();
 }

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

 function tep_session_recreate() {
if (PHP_VERSION >= 4.1) {
  $session_backup = $_SESSION;

  unset($_COOKIE[tep_session_name()]);

  tep_session_destroy();

  if (STORE_SESSIONS == 'mysql') {
	session_set_save_handler('_sess_open', '_sess_close', '_sess_read', '_sess_write', '_sess_destroy', '_sess_gc');
  }

  tep_session_start();

  $_SESSION = $session_backup;
  unset($session_backup);
}
 }
?>

Link to comment
Share on other sites

yes my code is different from yours , it is a template, i bought it. Here is all the sessions.php code. i don't know what's wrong with it.

You should seek assistance from the template vendor.

Link to comment
Share on other sites

I don't think it's the vendor problem as I have the same template working on another site, the only difference btw them is the design of the home page..

 

Please help me, i don't want to refresh the page everytime i hit somewhere... please

Link to comment
Share on other sites

I don't think it's the vendor problem as I have the same template working on another site, the only difference btw them is the design of the home page..

 

Please help me, i don't want to refresh the page everytime i hit somewhere... please

There has to be some difference between the two stores. You will need to find it.

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...