Critical Error

Hulp nodig bij een modificaties of op zoek naar een MOD? Bekijk ons archief. Support wordt helaas niet meer verleend.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
Niels-21
Berichten: 604
Lid geworden op: 27 sep 2004, 13:53
Locatie: Utrecht
Contacteer:

Critical Error

Bericht door Niels-21 » 09 okt 2006, 11:00

Hallo,

Na het uitvoeren van de SQL van de Last Visit mod krijg ik nu soms deze melding:

Code: Selecteer alles

phpBB : Critical Error 

Error updating sessions table

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax near ' user_totalpages = user_totalpages+1, user_totaltime = user_totaltime+(116038783' at line 2

UPDATE phpbb_users SET user_session_time = 1160387835, user_session_page = , user_totalpages = user_totalpages+1, user_totaltime = user_totaltime+(1160387835-1160387765)0 WHERE user_id = 2

Line : 362
File : sessions.php 
Kan je SQL ook ongedaan maken? Want zo'n melding is irritant op den duur. Telkens als ik de SQL opnieuw uitvoer, zegt-ie dat sommige tabellen zijn geüpdate, terwijl ze op zich al geüpdate zouden moeten zijn.

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 09 okt 2006, 16:15

Je hebt sessions.php gewoon evrkeerd gemod ;)

Niels-21
Berichten: 604
Lid geworden op: 27 sep 2004, 13:53
Locatie: Utrecht
Contacteer:

Bericht door Niels-21 » 09 okt 2006, 16:16

paul schreef:Je hebt sessions.php gewoon evrkeerd gemod ;)
Echt?
Ga ik ff checken (weet je ook op welke mod, Last Visit waarschijnlijk).
Laatst gewijzigd door Niels-21 op 09 okt 2006, 16:16, 1 keer totaal gewijzigd.

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 09 okt 2006, 16:16

Last visit denk ik...

Niels-21
Berichten: 604
Lid geworden op: 27 sep 2004, 13:53
Locatie: Utrecht
Contacteer:

Bericht door Niels-21 » 09 okt 2006, 16:22

Sessions.php is goed gemod (volgens Last Visit Mod).

Wat kan ik nu raadplegen?

svenn
Berichten: 5001
Lid geworden op: 14 jul 2004, 13:00
Locatie: Kortrijk
Contacteer:

Bericht door svenn » 09 okt 2006, 16:35

ik vrees van niet want ik zie :
user_session_page = , user_totalpages = user_totalpages+1, user_totaltime = user_totaltime+(1160387835-1160387765)0 WHERE user_id = 2
ik denk dat je de code voor de komma zetten en dat hij erna moet ;) post eens een stukje rond 362 van sessions.php

Niels-21
Berichten: 604
Lid geworden op: 27 sep 2004, 13:53
Locatie: Utrecht
Contacteer:

Bericht door Niels-21 » 09 okt 2006, 16:38

360 t/m 370 van sessions.php:

Code: Selecteer alles

WHERE user_id = " . $userdata['user_id'];
						if ( !$db->sql_query($sql) )
						{message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql);
    }
//}

					session_clean($userdata['session_id']);

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

svenn
Berichten: 5001
Lid geworden op: 14 jul 2004, 13:00
Locatie: Kortrijk
Contacteer:

Bericht door svenn » 09 okt 2006, 16:40

ja een beetje erboven graag ;)

Niels-21
Berichten: 604
Lid geworden op: 27 sep 2004, 13:53
Locatie: Utrecht
Contacteer:

Bericht door Niels-21 » 09 okt 2006, 16:41

Excuus! Iets meer code:

Code: Selecteer alles

//
				// Only update session DB a minute or so after last update
				//
				if ( $current_time - $userdata['session_time'] > 60 )
				{
					// A little trick to reset session_admin on session re-usage
					$update_admin = (!defined('IN_ADMIN') && $current_time - $userdata['session_time'] > ($board_config['session_length']+60)) ? ', session_admin = 0' : '';

					$sql = "UPDATE " . SESSIONS_TABLE . " 
						SET session_time = $current_time, session_page = $thispage_id$update_admin
						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 = , user_totalpages = user_totalpages+1, user_totaltime = user_totaltime+($current_time-".$userdata['session_time'].")$thispage_id
							WHERE user_id = " . $userdata['user_id'];
						if ( !$db->sql_query($sql) )
						{message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql);
    }
//}

					session_clean($userdata['session_id']);

					setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);
					setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);
				}
				
				// Add the session_key to the userdata array if it is set
				if ( isset($sessiondata['autologinid']) && $sessiondata['autologinid'] != '' )
				{
					$userdata['session_key'] = $sessiondata['autologinid'];
				}

				return $userdata;
			}
		}
	}

svenn
Berichten: 5001
Lid geworden op: 14 jul 2004, 13:00
Locatie: Kortrijk
Contacteer:

Bericht door svenn » 09 okt 2006, 16:43

Code: Selecteer alles

// 
// Only update session DB a minute or so after last update 
// 
if ( $current_time - $userdata['session_time'] > 60 ) 
{ 
// A little trick to reset session_admin on session re-usage 
$update_admin = (!defined('IN_ADMIN') && $current_time - $userdata['session_time'] > ($board_config['session_length']+60)) ? ', session_admin = 0' : ''; 

$sql = "UPDATE " . SESSIONS_TABLE . " 
SET session_time = $current_time, session_page = $thispage_id$update_admin 
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, user_totalpages = user_totalpages+1, user_totaltime = user_totaltime+($current_time-".$userdata['session_time'].") 
WHERE user_id = " . $userdata['user_id']; 
if ( !$db->sql_query($sql) ) 
{message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql); 
} 
//} 

session_clean($userdata['session_id']); 

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

// Add the session_key to the userdata array if it is set 
if ( isset($sessiondata['autologinid']) && $sessiondata['autologinid'] != '' ) 
{ 
$userdata['session_key'] = $sessiondata['autologinid']; 
} 

return $userdata; 
} 
} 
}
probeer eens met deze :)

Niels-21
Berichten: 604
Lid geworden op: 27 sep 2004, 13:53
Locatie: Utrecht
Contacteer:

Bericht door Niels-21 » 09 okt 2006, 16:45

Gedaan!

Werkt goed, nog geen error gezien. Wat heb je gedaan dan?

svenn
Berichten: 5001
Lid geworden op: 14 jul 2004, 13:00
Locatie: Kortrijk
Contacteer:

Bericht door svenn » 09 okt 2006, 16:49

zoals ik zei :
SET user_session_time = $current_time, user_session_page = , user_totalpages = user_totalpages+1, user_totaltime = user_totaltime+($current_time-".$userdata['session_time'].")$thispage_id
moest zijn :
SET user_session_time = $current_time, user_session_page = $thispage_id, user_totalpages = user_totalpages+1, user_totaltime = user_totaltime+($current_time-".$userdata['session_time'].")

Niels-21
Berichten: 604
Lid geworden op: 27 sep 2004, 13:53
Locatie: Utrecht
Contacteer:

Bericht door Niels-21 » 09 okt 2006, 16:50

Oké, nou thanx!
Vreemd dat ie het dan de ene keer wel en de andere keer niet doet.

svenn
Berichten: 5001
Lid geworden op: 14 jul 2004, 13:00
Locatie: Kortrijk
Contacteer:

Bericht door svenn » 09 okt 2006, 16:52

ja idd ; maar dit vind ik ook vreemd :

Code: Selecteer alles

SET session_time = $current_time, session_page = $thispage_id$update_admin
2 variabele na elkaar :s maar kan zijn dat het een gaatje in mijn php cultuur is :bier:

Niels-21
Berichten: 604
Lid geworden op: 27 sep 2004, 13:53
Locatie: Utrecht
Contacteer:

Bericht door Niels-21 » 09 okt 2006, 16:53

svennson schreef:ja idd ; maar dit vind ik ook vreemd :

Code: Selecteer alles

SET session_time = $current_time, session_page = $thispage_id$update_admin
2 variabele na elkaar :s maar kan zijn dat het een gaatje in mijn php cultuur is :bier:
Daarvan is mijn kennis echt nihil, dus daar kan ik niet over oordelen.

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 09 okt 2006, 17:14

svennson schreef:ja idd ; maar dit vind ik ook vreemd :

Code: Selecteer alles

SET session_time = $current_time, session_page = $thispage_id$update_admin
2 variabele na elkaar :s maar kan zijn dat het een gaatje in mijn php cultuur is :bier:
Zal wel een aardig groot gaatje zijn, want dat klopt gewoon :wink:

svenn
Berichten: 5001
Lid geworden op: 14 jul 2004, 13:00
Locatie: Kortrijk
Contacteer:

Bericht door svenn » 09 okt 2006, 17:42

nog nooit gebruikt dus ;) ik zet meestal een puntje.

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 09 okt 2006, 17:57

Tja, maar dit is in een string, dus dan zet je een punt in een string ;)

Gesloten