Seite 1 von 2
$userdata und Cookie
Verfasst: 28.02.2006 11:42
von Jan88
Hallo,
ich würde gerne in meinem eigenen Script an das Array $userdata kommen OHNE das gesamte Forum zu benutzen.
Also nicht die Vorlage für eingebunene Seiten benutzen.
Wie komm ich daran?
Und wie komm ich an das Cookie von meinem phpBB2 ran?
Ebenfalls ohne die Vorlage zu benutzen.
Gruß
Jan
Verfasst: 28.02.2006 13:07
von mgutt
Auf was zielst Du ab?
Wie man ein Cookie einliest sollte man schon wissen, sonst kannst Du ja keine Daten verarbeiten
EDIT:
Ein Auszug aus der sessions.php vielleicht hilft das ja:
Code: Alles auswählen
$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'])) : array();
$sessionmethod = SESSION_METHOD_COOKIE;
}
else
{
$sessiondata = array();
$session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : '';
$sessionmethod = SESSION_METHOD_GET;
}
Verfasst: 28.02.2006 13:08
von fanrpg
die Seite muss in der selben Domain hängen wie das Forum dann kommste auch ans phpBB Cookie
Und zum array $userdata, durch das Cookie kannst du die User-ID herausfinden und dann kannste per SQL folgendes machen:
Code: Alles auswählen
$sql = "SELECT u.*, s.* FROM phpbb_users u, phpbb_session WHERE u.user_id = $user_id";
$result = $db->sql_query($sql); // oder mysql_query()... oder was du für ein DB System nutzt
while( $userdata = $db->sql_fetchrow($result) );
Dann hast auch du dein array -> $userdata ohne phpBB.
Verfasst: 28.02.2006 14:58
von Jan88
fanrpg hat geschrieben:die Seite muss in der selben Domain hängen wie das Forum dann kommste auch ans phpBB Cookie
Was heißt in der selben Domaine?
das Script liegt hier:
www.meineseite.de/das/script.php
und das forum hier:
www.meineseite.de/das/forum/ist/hier.php
Jan
Verfasst: 28.02.2006 15:15
von mgutt
Domain = Host also nach deinem Beispiel:
www.meineseite.de
Sollte also klappen.
Verfasst: 28.02.2006 15:17
von Jan88
und der Cookie name ist der der auch in der DB liegt oder? es werden ja zwei?! Cookies gesetzt. Aber ich brauch den 'cookiename_sid' oder?
Verfasst: 28.02.2006 15:35
von mgutt
Eigentlich müssten es mehrere sein. Ich kann aber bei IE nur eines finden
Der Inhalt sieht beispielsweise so aus:
default-xrefsearch
APOST_POST_URL%2CAPOST_POST_URL%3B/includes/constants.php.source.html%1234l123
www.phpbb.de/
1234
45051234
29831234
2320601234
29751234
*
Hier zu finden:
C:\Dokumente und Einstellungen\<Username>\Lokale Einstellungen\Temporary Internet Files
Bei Firefox gibt es mehr Inhalte. Aber das ist Browserbedingt. Ich denke Du kannst sie wie Du es vor hast auslesen.
Aber wie vorher schon gefragt. Was willst Du erreichen?
Verfasst: 28.02.2006 15:39
von Jan88
Schade aber bei mir liegen in
C:\Dokumente und Einstellungen\<Username>\Lokale Einstellungen\Temporary Internet Files
keinerlei dateien.
Die liegen bei mir in:
~home/malte/Programme/firefox/cookies
heißt ich hab Linux und Firefox.
das aber nur am Rande
ich möchte die verschiedenen angaben des Array benutzen um im banner zum beispiel den benutzer je nach geschlecht und name persönlich grüßen lassen. auch den onlinestatus muss ich prüfen und je nach userlevel bestmmte seiten anzeigen bzw sperren.
Verfasst: 28.02.2006 15:47
von S2B
Jan88 hat geschrieben:und der Cookie name ist der der auch in der DB liegt oder? es werden ja zwei?! Cookies gesetzt. Aber ich brauch den 'cookiename_sid' oder?
Ja, genau. Du musst also zuerst $board_config auslesen, dann den entsprechenden Cookie auslesen und dann mithilfe der SID in diesem Cookie die Benutzerinfos abfragen (Query steht in fanrpg's Beitrag).
Verfasst: 28.02.2006 15:48
von mgutt
Bedenke, dass Du bei jeder Seite die phpB Session übergeben musst.
Das ist ohne die Funktion "append_sid" nicht sehr sinnvoll. Also viel Arbeit, wenn Du keine phpBB Seite machst.
Ich würde die phpBB Standarddinge auf jedenfall includen.