Seite 1 von 1

Neues AOL-Problem? [Nicht IP/Sessions!!!]

Verfasst: 21.08.2003 18:44
von testit
Hi,

es könnte sein, dass ich auf ein neues Problem im Zusammenhang mit AOL-Usern gestossen bin.

Ich nutze phpBB2 im Zusammenhang mit einem Chatserver. User, die sich eingeloggt haben, können mit ihrem Usernamen auch in den Chat wechseln. Bei Wechsel in den Chat wird für den betreffenden User ein Parameter übergeben, der es ermöglicht, aus dem Chat heraus, dessen Profil aufzurufen.

Und jetzt kommts: Das klappt bei allen, nur nicht bei AOL-Usern! Will man deren Profil abrufen, sieht man immer nur sein eigenes. Grund: Die user_id wird für den AOL-User nicht korrekt ermittelt, wohl aber sein Username! Bei allen anderen Mitgliedern klappt alles einwandfrei.

Folgendes Codestück zeigt das Problem auf:

Code: Alles auswählen

<?php 
define('IN_PHPBB', true); 
$phpbb_root_path = './'; 
include($phpbb_root_path . 'extension.inc'); 
include($phpbb_root_path . 'common.'.$phpEx); 
include ($phpbb_root_path . 'digichat_icons.'.$phpEx);

// 
// Start session management 
// 
$userdata = session_pagestart($user_ip, PAGE_SEARCH); 
init_userprefs($userdata); 
// 
// End session management 
// 

$username = $userdata['username'];
$user_id1 = $userdata['user_id'];

echo "UserID direkt: $user_id1<br>";

$sql = "SELECT user_id
			FROM " . USERS_TABLE . "
			WHERE username = '" . str_replace("\'", "''", $username) . "'";
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Error in obtaining userdata', '', __LINE__, __FILE__, $sql);
		}

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

$user_id2 = $row[user_id];
echo "UserID-DB: $user_id2<br>";
Bei allen "normalen" Usern ist user_id1 identischt´mit user_id2. Bei den AOL-Usern nicht. Bei zeigt nur UserID-DB, also $user_id2 die richtige UserID des AOL-Users an.

Baut ein script oder ein MOD also auf die fehlerfreie Besetzung von $userdata['user_id'] durch die Standard Session Eröffnung (vgl. // Start session management), kann es zu kuriosen Ergebnissen kommen.

Ich habe rein vorsorglich die Sache mal mit der hier erörterten Lösung getestet, nicht die ganze IP zu checken.

Dies brachte keinen Erfolg, die Fehlbesetzung der user_id bleibt bestehen bei AOL-Usern.


Gruss
Volker