Seite 2 von 5

Verfasst: 24.12.2004 11:04
von Huchi
easygo hat geschrieben:Außerdem hast du die falschen Zeilen auskommentiert,
aber keine Antwort ist auch eine...
Entschuldige easygo,
hab deinen Beitrag erst gerade gelesen weil wir fast Zeitgleich posteten.
Habs geändert und trotzdem kommen immer noch Fehler. Wahrscheinlich ist heute nicht mein Tag, so viel Probleme hat ich noch nie bei einem Mod einbau.
Kannst du / könnt ihr noch mal drüber schauen --> Link
kommt immer noch ein Fehler:

Code: Alles auswählen

Parse error: parse error, unexpected $ in /srv/www/htdocs/web139/html/phpBB2/includes/sessions.php on line 404
Danke euch!

Huchi

Verfasst: 24.12.2004 11:16
von easygo
Schon ok @ Huchi

Shit happens...

Übernimm mal den folgenden Code:

Code: Alles auswählen

// Start add - Last visit MOD
$expiry_time = $current_time - $board_config['session_length'] ;
// End add - Last visit MOD
		//
		// 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, 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);
						}
					//}

					//
					// 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;
			}
		}
	}
Mario Siebert hat geschrieben:Nein, er hat diesen Teil an die falsche stelle eingefügt das sagte ich ja,...
Falsche Stelle stimmt auffallend! Blos warum hast du
dann net die richtige Stelle gepostet? Ich mein so halbe Mods lösen
das Problem kaum... machen höchstens noch mehr.

:P easygo

Verfasst: 24.12.2004 13:13
von Huchi
easygo hat geschrieben: Shit happens...
....... du sagst es!

Leider aber anderer Fehler:

Code: Alles auswählen

phpBB : Kritischer Fehler 

Error updating last visit time

DEBUG MODE

UPDATE phpbb_users SET user_session_time = 1103890374, user_session_page = -15, user_lastvisit = 1103869712, user_lastlogon = 1103890374, user_totallogon=user_totallogon+1 WHERE user_id = 2

Line : 171
File : /srv/www/htdocs/web139/html/phpBB2/includes/sessions.php 
Gruß Huchi

Verfasst: 24.12.2004 13:42
von easygo
Ahja... auch da (around line 171) hast du die falschen
Zeilen auskommentiert mein Lieber ^^

Ersetz den Teil mal damit:

Code: Alles auswählen

	//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() .  ", user_totallogon=user_totallogon+1, user_reminded = '0'
			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;
	//}
... aber garantieren tu ich für nix, weil halt (s.o.)

Vielleicht solltest du mal so richtig ausschlafen und dann !?

Frohe Weihnachten

:P easygo

Verfasst: 24.12.2004 16:59
von Huchi
easygo hat geschrieben:Ahja... auch da (around line 171) hast du die falschen
Zeilen auskommentiert mein Lieber ^^
Vielleicht solltest du mal so richtig ausschlafen und dann !?
Frohe Weihnachten
:P easygo
Ok, ich glaub ich schlaf erst mal drüber und mach das Backup! Weil auch danach ist noch ein Fehler:

Code: Alles auswählen

Parse error: parse error, unexpected T_VARIABLE in /srv/www/htdocs/web139/html/phpBB2/includes/sessions.php on line 164
ich geb auf und versuch es morgen noch einmal! Weihnachten, nie wieder einen mod installieren!
Ebenso forhe Weihnachten! Und weniger feiern wie ich :oops: !

Huchi

Verfasst: 26.12.2004 14:41
von Huchi
Hi easygo und andere,

ausgeschlafen und nüchtern und siehe da es funzt! Obwohl ich das ganze immer noch nicht ganz kapiere. Wenn ich dieses Zeile weglasse läufts ohne Problem

Code: Alles auswählen

, user_totalpages = user_totalpages+1, user_totaltime = user_totaltime+($current_time-".$userdata['session_time'].")
Baue ich diese ein funzt es net. Gut ist ja auch egal, hauptsache es läuft, ob mit oder ohne. Danke für eure Geduld!

Huchi

Verfasst: 26.12.2004 15:06
von easygo
Hmja, vielleicht beißt sich da was mit ner anderen Mod !?

Lässt du die Einträge weg, dürfte es in den Profilen
auch keine Aktualisierung der Last Visit Statistik mehr geben,
was eigentlich sehr schade ist für den Admin.

Also wir hatten mal Probs mit Last Visit + Activity ^^

Die beiden Hacks haben sich net so gut
vertragen in der sessions.php

Poste doch mal deine aktuelle sessions als Text.
Vielleicht finden wir ja noch nen Fehler.

Verfasst: 26.12.2004 21:58
von roger
Das Problem hatten wir da schon einmal gelöst... Ich hatte ihm eine fertige sessions hochgeladen... :roll:

Aber ein klein wenig "Konzentration" beim Einbau wäre schon nicht schlecht... :-?

roger

Verfasst: 27.12.2004 20:01
von Huchi
roger hat geschrieben:Das Problem hatten wir da schon einmal gelöst... Ich hatte ihm eine fertige sessions hochgeladen... :roll:
Aber ein klein wenig "Konzentration" beim Einbau wäre schon nicht schlecht... :-?
Jo ich weiß und bin auch dankbar für deine /eure Hilfe!
Übigens habe ich das Problem da nochmal gepostet weil diese Seite hier ne ganze weile tot war!

Huchi

Verfasst: 01.01.2005 23:12
von sommer
Zwei Sachen.

Wenn ich "den letzten Besuch" für andere ausgeblendet habe wird aus dem ANMELDEDATUM der LETZTE BESUCH bei der "Sortierungs-Methode" der Mitglieder Liste. Das ANMELDEDATUM verschwindet in dem Menü.
Ist das schon jemand aufgefallen? Kann man dagegen was machen?

Was muß / kann ich weglassen, wenn ich die LETZTER BESUCH Geschichte weglassen will und nur die Anzeige auf der Index Seite will?