IK Kom er echt niet uit kan iemand helpen??

Installatie lukt niet? Plotseling een foutmelding. Of weet je niet hoe iets werkt. Problemen met phpBB2 kun je in dit archief opzoeken.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
Gebruikersavatar
KevinS
Berichten: 363
Lid geworden op: 23 apr 2003, 10:31

IK Kom er echt niet uit kan iemand helpen??

Bericht door KevinS » 06 mei 2003, 20:56

Ik heb een mod in mijn site geplaats daarbij moest ik sessions.php aanpassen van het forum nu heb ik dit al 4 keer opnieuw gedaan en iedere keer krijg ik weer de zelde fout in mijn forum.....
Kan iemand voor mij een gedeelte van de mod code plaatsen in mij sessions.php want ik weet niet wat ik fout die.....

Hieronder het gedeelte uit de mod install dat in mijn sessions.php moet komen (daaronder vind je een link met mijn sessions.php waar het in moet komen) :

Code: Selecteer alles

# 
#-----[ OPEN ]------------------------------------------ 
# 
includes/sessions.php

# 
#-----[ FIND ]------------------------------------------ 
# 
if ( !empty($session_id) )
{
# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
$expiry_time = $current_time - $board_config['session_length'] ;

# 
#-----[ FIND ]------------------------------------------ 
# 
$sql = "SELECT u.*, s.*
	FROM " . SESSIONS_TABLE . " s, " . USERS_TABLE . " u
	WHERE s.session_id = '$session_id'
		AND u.user_id = s.session_user_id";

# 
#-----[ IN-LINE FIND ]------------------------------------------ 
# 
";

# 
#-----[ IN-LINE BEFORE, ADD ]------------------------------------------ 
# 
 AND session_time > $expiry_time

# 
#-----[ FIND ]------------------------------------------ 
# 
$sql = "DELETE FROM " . SESSIONS_TABLE . " 
WHERE session_time < $expiry_time 

# 
#-----[ IN-LINE FIND ]------------------------------------------ 
# 
session_time < $expiry_time
# 
#-----[ IN-LINE REPLACE WITH ]------------------------------------------ 
# 
UNIX_TIMESTAMP() - session_time >=172800

# 
#-----[ FIND ]------------------------------------------ 
# 
if ( $user_id != ANONYMOUS )
{
$last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time; 
$sql = "UPDATE " . USERS_TABLE . " 

# 
#-----[ IN-LINE FIND ]------------------------------------------ 
# 
, user_lastvisit = $last_visit

# 
#-----[ IN-LINE AFTER, ADD ]------------------------------------------ 
#
, user_lastlogon = " . time() .  "

# 
#-----[ OPEN ]------------------------------------------ 
# 
includes/usercp_viewprofile.php

# 
#-----[ FIND ]------------------------------------------ 
# 
'JOINED' => create_date($lang['DATE_FORMAT'], $profiledata['user_regdate'], $board_config['board_timezone']), 

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
'L_LOGON' => $lang['Last_logon'], 
'LAST_LOGON' => ($userdata['user_level'] == ADMIN || (!$board_config['hidde_last_logon'] && $profiledata['user_allow_viewonline'])) ? (($profiledata['user_lastlogon'])? create_date($board_config['default_dateformat'], $profiledata['user_lastlogon'], $board_config['board_timezone']):$lang['Never_last_logon']):$lang['Hidde_last_logon'], 

# 
#-----[ OPEN ]------------------------------------------ 
# 
# (make sure to edit this file for every theme you use). 
templates/subsilver/index_body.tpl

# 
#-----[ FIND ]------------------------------------------ 
# 
<img src="templates/subSilver/images/whosonline.gif"

# 
#-----[ IN-LINE FIND ]------------------------------------------ 
# if other mods installed the value could be different
rowspan="2"

# 
#-----[ IN-LINE REPLACE WITH ]------------------------------------------ 
# 
rowspan="3"

# 
#-----[ FIND ]------------------------------------------ 
# 
{NEWEST_USER}</span> 
   </td> 
  </tr>

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
  <tr> 
     <td class="row1" align="left"><span class="gensmall">{L_USERS_TODAY}&{L_USERS_LASTHOUR}<br />{USERS_TODAY_LIST}</br></span></td>    
  </tr> 
Hieronder een link naar mij sessions.php:
http://nlnet.haz.dk/forum/viewtopic.php?t=103
Alvast bedankt

Spikey
Berichten: 1361
Lid geworden op: 21 dec 2002, 23:08

Bericht door Spikey » 06 mei 2003, 21:31

Dit zou hem moeten zijn:

Code: Selecteer alles

<?php 
/*************************************************************************** 
*                                sessions.php 
*                            ------------------- 
*   begin                : Saturday, Feb 13, 2001 
*   copyright            : (C) 2001 The phpBB Group 
*   email                : support@phpbb.com 
* 
*   $Id: sessions.php,v 1.58.2.8 2002/12/18 01:06:19 psotfx Exp $ 
* 
* 
***************************************************************************/ 

/*************************************************************************** 
* 
*   This program is free software; you can redistribute it and/or modify 
*   it under the terms of the GNU General Public License as published by 
*   the Free Software Foundation; either version 2 of the License, or 
*   (at your option) any later version. 
* 
***************************************************************************/ 

// 
// Adds/updates a new session to the database for the given userid. 
// Returns the new session ID on success. 
// 
function session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_autologin = 0) 
{ 
   global $db, $board_config; 
   global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID; 

   $cookiename = $board_config['cookie_name']; 
   $cookiepath = $board_config['cookie_path']; 
   $cookiedomain = $board_config['cookie_domain']; 
   $cookiesecure = $board_config['cookie_secure']; 

   if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename . '_data']) ) 
   { 
      $session_id = isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : ''; 
      $sessiondata = isset($HTTP_COOKIE_VARS[$cookiename . '_data']) ? unserialize(stripslashes($HTTP_COOKIE_VARS[$cookiename . '_data'])) : ''; 
      $sessionmethod = SESSION_METHOD_COOKIE; 
   } 
   else 
   { 
      $sessiondata = ''; 
      $session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : ''; 
      $sessionmethod = SESSION_METHOD_GET; 
   } 

   $last_visit = 0; 
   $current_time = time(); 
   $expiry_time = $current_time - $board_config['session_length']; 

   // 
   // Try and pull the last time stored in a cookie, if it exists 
   // 
   $sql = "SELECT * 
      FROM " . USERS_TABLE . " 
      WHERE user_id = $user_id"; 
   if ( !($result = $db->sql_query($sql)) ) 
   { 
      message_die(CRITICAL_ERROR, 'Could not obtain lastvisit data from user table', '', __LINE__, __FILE__, $sql); 
   } 

   $userdata = $db->sql_fetchrow($result); 

   if ( $user_id != ANONYMOUS ) 
   { 
      $auto_login_key = $userdata['user_password']; 

      if ( $auto_create ) 
      { 
         if ( isset($sessiondata['autologinid']) && $userdata['user_active'] ) 
         { 
            // We have to login automagically 
            if( $sessiondata['autologinid'] == $auto_login_key ) 
            { 
               // autologinid matches password 
               $login = 1; 
               $enable_autologin = 1; 
            } 
            else 
            { 
               // No match; don't login, set as anonymous user 
               $login = 0; 
               $enable_autologin = 0; 
               $user_id = $userdata['user_id'] = ANONYMOUS; 
            } 
         } 
         else 
         { 
            // Autologin is not set. Don't login, set as anonymous user 
            $login = 0; 
            $enable_autologin = 0; 
            $user_id = $userdata['user_id'] = ANONYMOUS; 
         } 
      } 
      else 
      { 
         $login = 1; 
      } 
   } 
   else 
   { 
      $login = 0; 
      $enable_autologin = 0; 
   } 

   // 
   // Initial ban check against user id, IP and email address 
   // 
   preg_match('/(..)(..)(..)(..)/', $user_ip, $user_ip_parts); 

   $sql = "SELECT ban_ip, ban_userid, ban_email 
      FROM " . BANLIST_TABLE . " 
      WHERE ban_ip IN ('" . $user_ip_parts[1] . $user_ip_parts[2] . $user_ip_parts[3] . $user_ip_parts[4] . "', '" . $user_ip_parts[1] . $user_ip_parts[2] . $user_ip_parts[3] . "ff', '" . $user_ip_parts[1] . $user_ip_parts[2] . "ffff', '" . $user_ip_parts[1] . "ffffff') 
         OR ban_userid = $user_id"; 
   if ( $user_id != ANONYMOUS ) 
   { 
      $sql .= " OR ban_email LIKE '" . str_replace("\'", "''", $userdata['user_email']) . "' 
         OR ban_email LIKE '" . substr(str_replace("\'", "''", $userdata['user_email']), strpos(str_replace("\'", "''", $userdata['user_email']), "@")) . "'"; 
   } 
   if ( !($result = $db->sql_query($sql)) ) 
   { 
      message_die(CRITICAL_ERROR, 'Could not obtain ban information', '', __LINE__, __FILE__, $sql); 
   } 

   if ( $ban_info = $db->sql_fetchrow($result) ) 
   { 
      if ( $ban_info['ban_ip'] || $ban_info['ban_userid'] || $ban_info['ban_email'] ) 
      { 
         message_die(CRITICAL_MESSAGE, 'You_been_banned'); 
      } 
   } 

   // 
   // Create or update the session 
   // 
   $sql = "UPDATE " . SESSIONS_TABLE . " 
      SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login 
      WHERE session_id = '" . $session_id . "' 
         AND session_ip = '$user_ip'"; 
   if ( !$db->sql_query($sql) || !$db->sql_affectedrows() ) 
   { 
      $session_id = md5(uniqid($user_ip)); 

      $sql = "INSERT INTO " . SESSIONS_TABLE . " 
         (session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in) 
         VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login)"; 
      if ( !$db->sql_query($sql) ) 
      { 
         message_die(CRITICAL_ERROR, 'Error creating new session', '', __LINE__, __FILE__, $sql); 
      } 
   } 

   if ( $user_id != ANONYMOUS ) 
   {// ( $userdata['user_session_time'] > $expiry_time && $auto_create ) ? $userdata['user_lastvisit'] : ( 
      $last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time; 

      $sql = "UPDATE " . USERS_TABLE . " 
         SET user_session_time = $current_time, user_session_page = $page_id, user_lastvisit = $last_visit, user_lastlogon = " . time() .  "
         WHERE user_id = $user_id"; 
      if ( !$db->sql_query($sql) ) 
      { 
         message_die(CRITICAL_ERROR, 'Error updating last visit time', '', __LINE__, __FILE__, $sql); 
      } 

      $userdata['user_lastvisit'] = $last_visit; 

      $sessiondata['autologinid'] = ( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : ''; 
      $sessiondata['userid'] = $user_id; 
   } 

   $userdata['session_id'] = $session_id; 
   $userdata['session_ip'] = $user_ip; 
   $userdata['session_user_id'] = $user_id; 
   $userdata['session_logged_in'] = $login; 
   $userdata['session_page'] = $page_id; 
   $userdata['session_start'] = $current_time; 
   $userdata['session_time'] = $current_time; 

   setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure); 
   setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure); 

   $SID = 'sid=' . $session_id; 

   return $userdata; 
} 

// 
// Checks for a given user session, tidies session table and updates user 
// sessions at each page refresh 
// 
function session_pagestart($user_ip, $thispage_id) 
{ 
   global $db, $lang, $board_config; 
   global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID; 

   $cookiename = $board_config['cookie_name']; 
   $cookiepath = $board_config['cookie_path']; 
   $cookiedomain = $board_config['cookie_domain']; 
   $cookiesecure = $board_config['cookie_secure']; 

   $current_time = time(); 
   unset($userdata); 

   if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename . '_data']) ) 
   { 
      $sessiondata = isset( $HTTP_COOKIE_VARS[$cookiename . '_data'] ) ? unserialize(stripslashes($HTTP_COOKIE_VARS[$cookiename . '_data'])) : ''; 
      $session_id = isset( $HTTP_COOKIE_VARS[$cookiename . '_sid'] ) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : ''; 
      $sessionmethod = SESSION_METHOD_COOKIE; 
   } 
   else 
   { 
      $sessiondata = ''; 
      $session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : ''; 
      $sessionmethod = SESSION_METHOD_GET; 
   } 

   // 
   // Does a session exist? 
   // 
   if ( !empty($session_id) ) 
   { 
	  $expiry_time = $current_time - $board_config['session_length'] ; 


      // 
      // session_id exists so go ahead and attempt to grab all 
      // data in preparation 
      // 
      $sql = "SELECT u.*, s.* 
         FROM " . SESSIONS_TABLE . " s, " . USERS_TABLE . " u 
         WHERE s.session_id = '$session_id' 
            AND u.user_id = s.session_user_id AND session_time > $expiry_time"; 
      if ( !($result = $db->sql_query($sql)) ) 
      { 
         message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql); 
      } 

      $userdata = $db->sql_fetchrow($result); 

      // 
      // Did the session exist in the DB? 
      // 
      if ( isset($userdata['user_id']) ) 
      { 
         // 
         // Do not check IP assuming equivalence, if IPv4 we'll check only first 24 
         // bits ... I've been told (by vHiker) this should alleviate problems with 
         // load balanced et al proxies while retaining some reliance on IP security. 
         // 
         $ip_check_s = substr($userdata['session_ip'], 0, 6); 
         $ip_check_u = substr($user_ip, 0, 6); 

         if ($ip_check_s == $ip_check_u) 
         { 
            $SID = ($sessionmethod == SESSION_METHOD_GET || defined('IN_ADMIN')) ? 'sid=' . $session_id : ''; 

            // 
            // Only update session DB a minute or so after last update 
            // 
            if ( $current_time - $userdata['session_time'] > 60 ) 
            { 
               $sql = "UPDATE " . SESSIONS_TABLE . " 
                  SET session_time = $current_time, session_page = $thispage_id 
                  WHERE session_id = '" . $userdata['session_id'] . "'"; 
               if ( !$db->sql_query($sql) ) 
               { 
                  message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql); 
               } 

               if ( $userdata['user_id'] != ANONYMOUS ) 
               { 
                  $sql = "UPDATE " . USERS_TABLE . " 
                     SET user_session_time = $current_time, user_session_page = $thispage_id 
                     WHERE user_id = " . $userdata['user_id']; 
                  if ( !$db->sql_query($sql) ) 
                  { 
                     message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql); 
                  } 
               } 

               // 
               // Delete expired sessions 
               // 
               $expiry_time = $current_time - $board_config['session_length']; 
               $sql = "DELETE FROM " . SESSIONS_TABLE . " 
                  WHERE UNIX_TIMESTAMP() - session_time >=172800 
                     AND session_id <> '$session_id'"; 
               if ( !$db->sql_query($sql) ) 
               { 
                  message_die(CRITICAL_ERROR, 'Error clearing sessions table', '', __LINE__, __FILE__, $sql); 
               } 

               setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure); 
               setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure); 
            } 

            return $userdata; 
         } 
      } 
   } 

   // 
   // If we reach here then no (valid) session exists. So we'll create a new one, 
   // using the cookie user_id if available to pull basic user prefs. 
   // 
   $user_id = ( isset($sessiondata['userid']) ) ? intval($sessiondata['userid']) : ANONYMOUS; 

   if ( !($userdata = session_begin($user_id, $user_ip, $thispage_id, TRUE)) ) 
   { 
      message_die(CRITICAL_ERROR, 'Error creating user session', '', __LINE__, __FILE__, $sql); 
   } 

   return $userdata; 

} 

// 
// session_end closes out a session 
// deleting the corresponding entry 
// in the sessions table 
// 
function session_end($session_id, $user_id) 
{ 
   global $db, $lang, $board_config; 
   global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID; 

   $cookiename = $board_config['cookie_name']; 
   $cookiepath = $board_config['cookie_path']; 
   $cookiedomain = $board_config['cookie_domain']; 
   $cookiesecure = $board_config['cookie_secure']; 

   // 
   // Pull cookiedata or grab the URI propagated sid 
   // 
   if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) ) 
   { 
      $session_id = isset( $HTTP_COOKIE_VARS[$cookiename . '_sid'] ) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : ''; 
      $sessionmethod = SESSION_METHOD_COOKIE; 
   } 
   else 
   { 
      $session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : ''; 
      $sessionmethod = SESSION_METHOD_GET; 
   } 

   // 
   // Delete existing session 
   // 
   $sql = "DELETE FROM " . SESSIONS_TABLE . " 
      WHERE session_id = '$session_id' 
         AND session_user_id = $user_id"; 
   if ( !$db->sql_query($sql) ) 
   { 
      message_die(CRITICAL_ERROR, 'Error removing user session', '', __LINE__, __FILE__, $sql); 
   } 

   setcookie($cookiename . '_data', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure); 
   setcookie($cookiename . '_sid', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure); 

   return true; 
} 

// 
// Append $SID to a url. Borrowed from phplib and modified. This is an 
// extra routine utilised by the session code above and acts as a wrapper 
// around every single URL and form action. If you replace the session 
// code you must include this routine, even if it's empty. 
// 
function append_sid($url, $non_html_amp = false) 
{ 
   global $SID; 

   if ( !empty($SID) && !preg_match('#sid=#', $url) ) 
   { 
      $url .= ( ( strpos($url, '?') != false ) ?  ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID; 
   } 

   return $url; 
} 

?>
Laatst gewijzigd door Spikey op 08 mei 2003, 21:43, 1 keer totaal gewijzigd.
gr. Spikey

Geen support via pb, email, msn, uw vragen worden niet beantwoord !

topslob
Berichten: 233
Lid geworden op: 24 jan 2003, 13:00

Bericht door topslob » 07 mei 2003, 14:37

over welke mod hebben we het eigenlijk

Gebruikersavatar
KevinS
Berichten: 363
Lid geworden op: 23 apr 2003, 10:31

Bericht door KevinS » 07 mei 2003, 15:03

Dit ging gedeeltelijk over de mod die laat zien welke leden en bezoekers er vandaag en het laatste uur jou forum hebben bezocht....

Maar bedankt spikey!!

(Even kijken of het werkt.....)

Gebruikersavatar
KevinS
Berichten: 363
Lid geworden op: 23 apr 2003, 10:31

Bericht door KevinS » 07 mei 2003, 15:13

spikey nu kan ik mun forum niet meer op vanwege de volgende foutmelding:

Code: Selecteer alles

Warning: message_die() [function.message-die]: Unable to access ./language/lang_english/lang_main.php in /Disk1/www/virtual/nlnet.haz.dk/www/forum/includes/functions.php on line 617

Warning: message_die(./language/lang_english/lang_main.php) [function.message-die]: failed to create stream: No such file or directory in /Disk1/www/virtual/nlnet.haz.dk/www/forum/includes/functions.php on line 617

Warning: message_die() [function.include]: Failed opening './language/lang_english/lang_main.php' for inclusion (include_path='.:/usr/local/lib/php') in /Disk1/www/virtual/nlnet.haz.dk/www/forum/includes/functions.php on line 617
phpBB : 

Error doing DB query userdata row fetch

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4

SELECT u.*, s.* FROM phpbb_sessions s, phpbb_users u WHERE s.session_id = '' AND u.user_id = s.session_user_id AND session_time > 

Line : 236
File : /Disk1/www/virtual/nlnet.haz.dk/www/forum/includes/sessions.php 
Wat moet ik nu doen??

Spikey
Berichten: 1361
Lid geworden op: 21 dec 2002, 23:08

Bericht door Spikey » 07 mei 2003, 21:23

Natuurlijk als eerste je originele sessions.php terugzetten zodat het forum weer werkt.



Unable to access ./language/lang_english/lang_main.php

Dit zegt dat hij dat bestand niet kan vinden, heb je soms de map "lang_english" verwijderd.
gr. Spikey

Geen support via pb, email, msn, uw vragen worden niet beantwoord !

Gebruikersavatar
KevinS
Berichten: 363
Lid geworden op: 23 apr 2003, 10:31

Bericht door KevinS » 08 mei 2003, 14:01

Ik heb die oude al terug gezet....
Maar ik heb niks gedaan verder alleen mij sessions.php vervangen met jou code die je hier boven geeft.....

Spikey
Berichten: 1361
Lid geworden op: 21 dec 2002, 23:08

Bericht door Spikey » 08 mei 2003, 21:50

Mijn excuus, zat een foutje in, heb dit hersteld en hierboven weer geplaatst.

Wat mij opviel is dat in de berichten hierboven regel 378 zo wordt weergegeven:

Code: Selecteer alles

   $url .= ( ( strpos($url, '?') != false ) ?  ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID;
Bekijk deze even in het origineel en wijzig dit dan ook, zit een verschil in.
gr. Spikey

Geen support via pb, email, msn, uw vragen worden niet beantwoord !

Gesloten