I have this error to resolve: Parse error: syntax error, unexpected T_VARIABLE, expecting '(' in /includes/functions/sessions.php on line 70 I believe I'm missing something. Fairly new to PHP. Would greatly appreciate any help! Here is the code: function tep_$_SESSION($variable) { global $session_started; if ($session_started == true) { return $_SESSION($variable); } else { return false; }
its your function name.. '$' sign are reserved character that would instantiate a variable. remove that. and add extra '}' at the end of the function
Post your complete coding then, I can try to solve it because I think the variable you use has been changed in the last row of coding.
The upgrade to PHP 5.3 has ruined our web site. Here is the entire code: <?php /* $Id: sessions.php,v 1.19 2003/07/02 22:10:34 hpdl Exp $ 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) { return isset($_SESSION[$variable]); } function tep_session_unregister($variable) { return unset($_SESSION[$variable]); } else { return false; } } function tep_session_is_registered($variable) { return isset($_SESSION($variable)); } function tep_session_unregister($variable) { return unset($_SESSION($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); } } ?>
It's line 75 Parse error: syntax error, unexpected T_UNSET in /includes/functions/sessions.php on line 75 Line 75: return unset($_SESSION[$variable]);
Thank You. It's been really difficult since server upgraded to PHP 5.3 If we can through session.php we might be OK I put in the code and this new error appeared: Fatal error: Can't use function return value in write context in /includes/functions/sessions.php on line 81 Line 81 code is: return isset($_SESSION($variable)); Is this where I would ad a next line?: return false;
I now have this error: Fatal error: Cannot redeclare tep_session_unregister() (previously declared in /home/ecgnatur/public_html/store_us/includes/functions/sessions.php:74) in /includes/functions/sessions.php on line 88 I've tried to add some code further down line 81. Could you please check it: Line 88 is a } and in bold: function tep_session_register($variable) { return isset($_SESSION[$variable]); } function tep_session_unregister($variable) { unset($_SESSION[$variable]); return true; } function tep_session_is_registered($variable) { return ($_SESSION($variable)); } function tep_session_unregister($variable) { return ($_SESSION($variable)); return true; } function tep_session_id($sessid = '') { if (!empty($sessid)) { return session_id($sessid); } else { return session_id(); } }
Finally got her working! I was starting to wonder if it was ever going to happen. After about 20 session.php errors my site finally re-appeared. Many Many Thanks to everyone who helped