Hilfe: Will Daten wie z.B. Username des eingeloggten Users?!
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Hilfe: Will Daten wie z.B. Username des eingeloggten Users?!
Hallo,
ich möchte gerne auf einer normalen Seite z.B. den Usernamen eines eingeloggten Users abfragen. Die Seite, auf der der Username oder Ähnliches des Users abgefragt werden sollen, soll nicht im Foren-Design erscheinen.
Wie geht das nun?
MfG
sptotal
ich möchte gerne auf einer normalen Seite z.B. den Usernamen eines eingeloggten Users abfragen. Die Seite, auf der der Username oder Ähnliches des Users abgefragt werden sollen, soll nicht im Foren-Design erscheinen.
Wie geht das nun?
MfG
sptotal
1. seite in phpBB einbinden.
2. mit:wird der username ausgegeben.
2. mit:
Code: Alles auswählen
<?php echo $userdata['username']; ?>
Re: Hilfe: Will Daten wie z.B. Username des eingeloggten Use
Versuch's mal mit dem folgenden PHP Code:sptotal hat geschrieben:Wie geht das nun?
Code: Alles auswählen
// in das folgende Array sollen mal die User, welche online sind rein
$users_online = array();
// Timestamp basteln der 5 Minuten zurück liegt
$five_min_ago_ts = strtotime("-5 minutes");
// Abfrage vorbereiten: php_users Table abfragen nach session_times die neuer als 5 Minuten sind
// (also User suchen bei denen die Session Time grösser als unser Five Minutes Ago Timestamp ist)
$SQL="SELECT username FROM phpbb_users WHERE user_session_time > $five_min_ago_ts ORDER BY user_session_time DESC";
// unser Array wird dann mit den Usern, die in den letzten 5 Minuten online aktiv waren, gefüllt
if ($users=MYSQL_QUERY($SQL)){
while($user_row = mysql_fetch_row($users)) {
$users_online[] = $user_row[0];
}
}
// und zum Testen das ganze einfach mal ausgeben
if ($users_online){
echo "Folgende registrierte User waren in den letzten 5 Minuten online:<br />";
foreach ($users_online as $user){
echo $user . "<br />";
}
}else{
echo "Niemand online in den letzen 5 Minuten<br />";
}
Viele Grüsse,
Carsten
Wenn die Seite *nichts* mit phpBB zu tun hat, dann ist dies evtl. nicht das richtige Forum sie zu stellen.
Wenn es allerdings darum geht, die phpBB Nutzerdaten und Sessionfunktionen(möglicherweise auch die Templatefunktion) auch auf anderen Seiten zu verwenden, dann musst Du diese de-facto zu phpBB Seiten machen (i.e. define('IN_PHPBB'... ; include(common. ...); $userdata = session_pagestart(...; usw. an den Anfang der Datei einfügen - sieh Dir faq.php als Beispiel an) .
Das bedeutet streng genommen auch, daß der phpBB footer unter die Seite gehört.
Wenn es allerdings darum geht, die phpBB Nutzerdaten und Sessionfunktionen(möglicherweise auch die Templatefunktion) auch auf anderen Seiten zu verwenden, dann musst Du diese de-facto zu phpBB Seiten machen (i.e. define('IN_PHPBB'... ; include(common. ...); $userdata = session_pagestart(...; usw. an den Anfang der Datei einfügen - sieh Dir faq.php als Beispiel an) .
Das bedeutet streng genommen auch, daß der phpBB footer unter die Seite gehört.
Es dreht sich natürlich um phpbb
Ich will wie gesagt die Informationen eines Benutzers auf einer normalen Seite abfragen. Der User muss eingeloggt sein, dann wird z.B. eine Seite angezeigt, ansonsten kommt eine Fehlermeldung. So oder so ähnlich.
Deswegen muss ich wissen, wie ich auf einer NICHT-PHPBB-Seite auf die Daten eine eingeloggten phpbb-Users zugreifen kann, als wäre es eine Seite des Forums.
MfG
sptotal

Ich will wie gesagt die Informationen eines Benutzers auf einer normalen Seite abfragen. Der User muss eingeloggt sein, dann wird z.B. eine Seite angezeigt, ansonsten kommt eine Fehlermeldung. So oder so ähnlich.
Deswegen muss ich wissen, wie ich auf einer NICHT-PHPBB-Seite auf die Daten eine eingeloggten phpbb-Users zugreifen kann, als wäre es eine Seite des Forums.
MfG
sptotal
sag ich doch
, pack das hier an den Anfang der Datei:
Edit: http://www.phpbb.com/kb/article.php?article_id=143

Code: Alles auswählen
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_FAQ);
init_userprefs($userdata);
Edit: http://www.phpbb.com/kb/article.php?article_id=143
Re: Hilfe: Will Daten wie z.B. Username des eingeloggten Use
Der Code ist genial, wie kann man nur die User noch auf Ihr Profil linken ?CKoenig hat geschrieben:Versuch's mal mit dem folgenden PHP Code:sptotal hat geschrieben:Wie geht das nun?Das war's auch schon. Wenn Du auch die Anzahl der Gäste haben willst must Du mit dem php_sessions Table hantieren - da gibts dann auch die session_time Spalte - Gäste erkenst Du dort an ner -1 in der session_user_id Spalte.Code: Alles auswählen
// in das folgende Array sollen mal die User, welche online sind rein $users_online = array(); // Timestamp basteln der 5 Minuten zurück liegt $five_min_ago_ts = strtotime("-5 minutes"); // Abfrage vorbereiten: php_users Table abfragen nach session_times die neuer als 5 Minuten sind // (also User suchen bei denen die Session Time grösser als unser Five Minutes Ago Timestamp ist) $SQL="SELECT username FROM phpbb_users WHERE user_session_time > $five_min_ago_ts ORDER BY user_session_time DESC"; // unser Array wird dann mit den Usern, die in den letzten 5 Minuten online aktiv waren, gefüllt if ($users=MYSQL_QUERY($SQL)){ while($user_row = mysql_fetch_row($users)) { $users_online[] = $user_row[0]; } } // und zum Testen das ganze einfach mal ausgeben if ($users_online){ echo "Folgende registrierte User waren in den letzten 5 Minuten online:<br />"; foreach ($users_online as $user){ echo $user . "<br />"; } }else{ echo "Niemand online in den letzen 5 Minuten<br />"; }
Viele Grüsse,
Carsten