Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Fatal error: Call to undefined function session_is_registered(), Nie działa panel administratora, plik session.
Lelen
post 11.11.2014, 15:16:36
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 11.11.2014

Ostrzeżenie: (0%)
-----


Witam, przenosiłem sklep internetowy na inny serwer i nie wiem czy nie zmienił mi się PHP na 5.4, coś czytałem że trzeba zmienić kod w session.php, ale nie wiem jak to dokładnie zrobić, czy ktoś mógłby mi pomóc?
Błąd wywala tutaj - http://s546811189.domenaklienta.pl/zooterra/panel/

A kod się prezentuje następująco:

  1. <?php
  2. /*
  3.   osCommerce, Open Source E-Commerce Solutions
  4.   <a href="http://www.oscommerce.com" target="_blank">http://www.oscommerce.com</a>
  5.   Copyright (c) 2002 osCommerce
  6.   Released under the GNU General Public License
  7.   mod esklep by cartLab <a href="http://www.cartlab.pl" target="_blank">http://www.cartlab.pl</a>
  8. */
  9.  
  10. if ( (PHP_VERSION >= 4.3) && ((bool)ini_get('register_globals') == false) ) {
  11. @ini_set('session.bug_compat_42', 1);
  12. @ini_set('session.bug_compat_warn', 0);
  13. }
  14.  
  15. if (STORE_SESSIONS == 'mysql') {
  16. if (!$SESS_LIFE = get_cfg_var($SESS_LIFE)) {
  17. $SESS_LIFE = SESSION_LENGHT_ADM;
  18. }
  19.  
  20. function _sess_open($save_path, $session_name) {
  21. return true;
  22. }
  23.  
  24. function _sess_close() {
  25. return true;
  26. }
  27.  
  28. function _sess_read($key) {
  29. $value_query = tep_db_query("select value from " . TABLE_SESSIONS . " where sesskey = '" . tep_db_input($key) . "' and expiry > '" . time() . "'");
  30. $value = tep_db_fetch_array($value_query);
  31.  
  32. if (isset($value['value'])) {
  33. return $value['value'];
  34. }
  35.  
  36. return '';
  37. }
  38.  
  39. function _sess_write($key, $val) {
  40. global $SESS_LIFE;
  41.  
  42. $expiry = time() + $SESS_LIFE;
  43. $value = $val;
  44.  
  45. $check_query = tep_db_query("select count(*) as total from " . TABLE_SESSIONS . " where sesskey = '" . tep_db_input($key) . "'");
  46. $check = tep_db_fetch_array($check_query);
  47.  
  48. if ($check['total'] > 0) {
  49. return tep_db_query("update " . TABLE_SESSIONS . " set expiry = '" . tep_db_input($expiry) . "', value = '" . tep_db_input($value) . "' where sesskey = '" . tep_db_input($key) . "'");
  50. } else {
  51. return tep_db_query("insert into " . TABLE_SESSIONS . " values ('" . tep_db_input($key) . "', '" . tep_db_input($expiry) . "', '" . tep_db_input($value) . "')");
  52. }
  53. }
  54.  
  55. function _sess_destroy($key) {
  56. return tep_db_query("delete from " . TABLE_SESSIONS . " where sesskey = '" . tep_db_input($key) . "'");
  57. }
  58.  
  59. function _sess_gc($maxlifetime) {
  60. tep_db_query("delete from " . TABLE_SESSIONS . " where expiry < '" . time() . "'");
  61.  
  62. return true;
  63. }
  64.  
  65. session_set_save_handler('_sess_open', '_sess_close', '_sess_read', '_sess_write', '_sess_destroy', '_sess_gc');
  66.  
  67. }
  68.  
  69. function tep_session_start() {
  70. global $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS;
  71.  
  72. $sane_session_id = true;
  73.  
  74. if (isset($HTTP_GET_VARS[tep_session_name()])) {
  75. if (preg_match('/^[a-zA-Z0-9]+$/', $HTTP_GET_VARS[tep_session_name()]) == false) {
  76. unset($HTTP_GET_VARS[tep_session_name()]);
  77.  
  78. $sane_session_id = false;
  79. }
  80. } elseif (isset($HTTP_POST_VARS[tep_session_name()])) {
  81. if (preg_match('/^[a-zA-Z0-9]+$/', $HTTP_POST_VARS[tep_session_name()]) == false) {
  82. unset($HTTP_POST_VARS[tep_session_name()]);
  83.  
  84. $sane_session_id = false;
  85. }
  86. } elseif (isset($HTTP_COOKIE_VARS[tep_session_name()])) {
  87. if (preg_match('/^[a-zA-Z0-9]+$/', $HTTP_COOKIE_VARS[tep_session_name()]) == false) {
  88. $session_data = session_get_cookie_params();
  89.  
  90. setcookie(tep_session_name(), '', time()-42000, $session_data['path'], $session_data['domain']);
  91.  
  92. $sane_session_id = false;
  93. }
  94. }
  95.  
  96. if ($sane_session_id == false) {
  97. tep_redirect(tep_href_link(FILENAME_DEFAULT, '', 'NONSSL', false));
  98. }
  99.  
  100. return session_start();
  101. }
  102.  
  103. function tep_session_register($variable) {
  104. if (PHP_VERSION < 4.2) {
  105. return session_register($variable);
  106. } else {
  107. if (isset($GLOBALS[$variable])) {
  108. $_SESSION[$variable] =& $GLOBALS[$variable];
  109. } else {
  110. $_SESSION[$variable] = null;
  111. }
  112. }
  113.  
  114. return false;
  115. }
  116.  
  117. function tep_session_is_registered($variable) {
  118. if (PHP_VERSION < 4.2) {
  119. return session_is_registered($variable);
  120. } else {
  121. return session_is_registered($variable);
  122. return isset($_SESSION) && array_key_exists($variable, $_SESSION);
  123. }
  124. }
  125.  
  126. function tep_session_unregister($variable) {
  127. if (PHP_VERSION < 4.2) {
  128. return session_unregister($variable);
  129. } else {
  130. unset($_SESSION[$variable]);
  131. }
  132. }
  133.  
  134.  
  135. function tep_session_id($sessid = '') {
  136. if ($sessid != '') {
  137. return session_id($sessid);
  138. } else {
  139. return session_id();
  140. }
  141. }
  142.  
  143. function tep_session_name($name = '') {
  144. if ($name != '') {
  145. return session_name($name);
  146. } else {
  147. return session_name();
  148. }
  149. }
  150.  
  151. function tep_session_close() {
  152. if (PHP_VERSION >= '4.0.4') {
  153. } elseif (function_exists('session_close')) {
  154. return session_close();
  155. }
  156. }
  157.  
  158. function tep_session_destroy() {
  159. return session_destroy();
  160. }
  161.  
  162. function tep_session_save_path($path = '') {
  163. if ($path != '') {
  164. return session_save_path($path);
  165. } else {
  166. }
  167. }
  168.  
  169. function tep_session_recreate() {
  170. if (PHP_VERSION >= 4.1) {
  171. $session_backup = $_SESSION;
  172.  
  173. unset($_COOKIE[tep_session_name()]);
  174.  
  175. tep_session_destroy();
  176.  
  177. if (STORE_SESSIONS == 'mysql') {
  178. session_set_save_handler('_sess_open', '_sess_close', '_sess_read', '_sess_write', '_sess_destroy', '_sess_gc');
  179. }
  180.  
  181. tep_session_start();
  182.  
  183. $_SESSION = $session_backup;
  184. unset($session_backup);
  185. }
  186. }
  187.  
  188. ?>



Dzięki i pozdrawiam.
Go to the top of the page
+Quote Post
markonix
post 11.11.2014, 15:45:25
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Drugi link w google: http://stackoverflow.com/questions/5286446...n-is-registered


--------------------
Go to the top of the page
+Quote Post
Lelen
post 11.11.2014, 16:00:47
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 11.11.2014

Ostrzeżenie: (0%)
-----


No widziałem to, ale co mam dokładnie zmienić?

Zmieniałem:
  1. function tep_session_register($variable) {
  2. if (PHP_VERSION < 4.2) {
  3. return session_register($variable);
  4. } else {
  5. if (isset($GLOBALS[$variable])) {
  6. $_SESSION[$variable] =& $GLOBALS[$variable];
  7. } else {
  8. $_SESSION[$variable] = null;
  9. }
  10. }


Na:
  1. function tep_session_register($variable) {
  2. if ( isset( $_SESSION['user'] ) ){}


Ale to chyba nie ma sensu ;F
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.07.2025 - 21:37