Seite 1 von 2

Last_Visit_MOD: Kriege einfach die sessions.php nicht hin :(

Verfasst: 04.10.2005 13:03
von DerGonzo
Moin!

Habe die 2.0.17-Version und versuche den Last-Visit-Mod einzubauen, bzw hab es schon getan. Abgesehen von der Anzeige in der Mitgliederliste und der Profile scheint auch alles zu klappen.
Online-Dauer, Anzahl der Besuche, letzter Besuch usw. werden nicht korrekt angezeigt.
Über die Suche habe ich nun herausgefunden, daß das Problem wohl irgendwo in der includes/sessions.php liegen muß.

laut Anleitung soll ich folgendes tun:

Code: Alles auswählen

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

# 
#-----[ FIND ]------------------------------------------------ 
#
	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

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
		if (!$admin)
		{
# 
#-----[ Replace with ]--------------------------------- 
# 
//		if (!$admin)
//		{

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

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

# 
#-----[ FIND ]------------------------------------------------ 
# 
$sessiondata['userid'] = $user_id;
}

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
}

# 
#-----[ IN-LINE BEFORE, ADD ]--------------------------------- 
# 
//

# 
#-----[ FIND ]------------------------------------------------ 
# 
if ( !empty($session_id) )
{

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#

// Start add - Last visit MOD
$expiry_time = $current_time - $board_config['session_length'] ;
// End add - Last visit MOD

# 
#-----[ 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 ]------------------------------------------------ 
# 
					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'].")

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
					if ( $userdata['user_id'] != ANONYMOUS )
					{
# 
#-----[ Replace with ]--------------------------------- 
# 
//					if ( $userdata['user_id'] != ANONYMOUS )
//					{
# 
#-----[ IN-LINE FIND (vierte) ]---------------------------------------- 
# 
$thispage_id

# 
#-----[ IN-LINE AFTER, ADD ]---------------------------------- 
# 
, user_totalpages = user_totalpages+1, user_totaltime = user_totaltime+($current_time-".$userdata['session_time'].")

# 
#-----[ FIND ]------------------------------------------------ 
# 
}

//
// Delete expired sessions



# 
#-----[ FIND ]------------------------------------------------ 
# 
WHERE session_time < $expiry_time

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
session_time < $expiry_time

# 
#-----[ IN-LINE REPLACE WITH ]-------------------------------- 
# 
UNIX_TIMESTAMP() - session_time >=172800

#
Habe die Datei vorher zum Glück gesichert, denn ich habe jetzt 5x vergeblich versucht, diese Aktionen auszuführen :oops:
Bekomme ständig Fehlermeldungen und mein Board ist nicht mehr erreichbar. Die Fehlermeldungen beziehen sich alle auf die sessions.php in line xyz (da war z.B. eine geschweifte Klammer vor die ich dann probeweise die // gestellt hatte, dann weitere Fehlermeldungen). Ich blick echt nicht mehr durch... :o

Kann jemand bitte meinen Versuch gegenlesen und mir sagen, was ich falsch gemacht habe?
Solange laß ich erstmal die alte sessions.php laufen, so ist wenigstens das Board erreichbar...

Verfasst: 04.10.2005 23:52
von Markus67
Hi ...

versuchs mal mit der hier ...
sessions.php

Markus

Verfasst: 04.10.2005 23:58
von DerGonzo
Hab Deinen Vorschlag hochgeladen und in der Chatbox diese Fehlerneldung erhalten:

Code: Alles auswählen

phpBB : Kritischer Fehler 

Error clearing sessions table

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 'UNIX_TIMESTAMP() - session_time >=172800 AND session_i

DELETE FROM phpbb_sessions UNIX_TIMESTAMP() - session_time >=172800 AND session_id <> '2b6cc07612e11005d9a44a75e679bd27'

Line : 331
File : sessions.php 
Die Anzeigen funktionieren nicht.

*edit*
Mein Hoster ist kontent.de und ich habe dort MySQL 4.0.16

Verfasst: 05.10.2005 00:16
von Markus67
Hi ...

sorry ... mein Fehler beim copy&paste

suche:

Code: Alles auswählen

	UNIX_TIMESTAMP() - session_time >=172800
ersetze mit:

Code: Alles auswählen

					WHERE UNIX_TIMESTAMP() - session_time >=172800
Markus

Verfasst: 05.10.2005 00:25
von DerGonzo
Bei mir und meinem Testaccount scheint es zu klappen... *magafroi*

Sorry, wenn die Frage jetzt blöd is, aber ichnehme an, die anderen User müssen sich erst einloggen, bevor die Änderung wirksam wird?

Erstmal einen Mega-Riesendank für Deine Hilfe! :wink:
Ich hoffe, dafür kann ich mich dann am 15. beim Treffen der Ruhrpott-Usergroup erkenntlich zeigen... :D

Verfasst: 05.10.2005 00:42
von Markus67
Hi ...
Sorry, wenn die Frage jetzt blöd is, aber ichnehme an, die anderen User müssen sich erst einloggen, bevor die Änderung wirksam wird?
yep ... erst dann wird das Feld aktualisiert :wink:

Markus

Verfasst: 05.10.2005 00:48
von DerGonzo
Oki, dann ist das Problem wohl gelöst :grin:

Danke, daß Du mir (mal wieder) geholfen hast!

Verfasst: 05.10.2005 18:38
von -=Fable=-
Meine will auch nicht funzen..Kann cihd ie Session-.php jetzt auch für mein phpbb 2.0.17 nehmen? Ja oder?

Verfasst: 05.10.2005 19:15
von CrYiNg
Kommt darauf an, ob diese session.php MODfrei ist. :wink:

Verfasst: 05.10.2005 19:22
von -=Fable=-
stimmt :D aber das krieg ich nich raus...Hab jetzt alle Dateien gemoddet nur die Session.php halt nich...Kann leider auf meinem Funpic webspace noch nich extern verlinken :(