Seite 1 von 1

Übergabe Userdaten an Fremdprogramm

Verfasst: 22.03.2019 09:20
von oldsiggi
Hallo Gemeinde,
ich arbeite mit der Version 3.2.5 und habe folgendes Problem:

Ich möchte den im board eingeloggten Usernamen in einer Variable/Session an ein eigen programiertes php-Programm übergeben, bezw. von dem php-Programm einlesen.

Mit einem anderen Board hab ich das schon mal laufen gehabt, möchte aber auf phpBB wechseln. Deshalb hier der Programmcode, den ich kenne.
Die Frage ist: wie bekomme ich das mit dem phpBB - Board hin?
Danke schon mal für eure Hilfe ....

Code: Alles auswählen

<?php
define('IN_MYBB', 1); 
//require "./global.php"; 
require "../board/global.php"; 
//session_start();

$user =($mybb->user['username']);


if($mybb->user['uid'])
{
echo "willkommen im Archiv $user";
}
else
{
 echo "Du musst draussen bleiben";
 die;
} 
?>

Re: Übergabe Userdaten an Fremdprogramm

Verfasst: 26.03.2019 11:17
von Mahony
Hallo
Evtl. hilft dir das hier weiter >>> https://www.phpbb.com/support/docs/en/3 ... -to-phpbb/

EDIT: Für die Abfrage, ob der User Mitglied im Forum ist nutze

Code: Alles auswählen

$user->data['user_id']
Also ungefähr so

Code: Alles auswählen

$user =($user->data['username']);
if($user->data['user_id'])
{
echo "willkommen im Archiv $user";
}
else
{
 echo "Du musst draussen bleiben";
 die;
} 
Grüße: Mahony

Re: Übergabe Userdaten an Fremdprogramm

Verfasst: 26.03.2019 12:51
von oldsiggi
Danke Mahony,

muss da nicht noch eine globale phpbb-Datei eingebunden werden?
(wie ich in meinem alten code hab? require "../board/global.php";

Re: Übergabe Userdaten an Fremdprogramm

Verfasst: 26.03.2019 14:05
von Dr.Death
Danach hattest du explizit nicht gefragt ;-)

Ist aber in bereits von Mahony verlinkt worden...... hier für Nichtleser : 8)

Code: Alles auswählen

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();

Re: Übergabe Userdaten an Fremdprogramm

Verfasst: 27.03.2019 18:21
von oldsiggi
merci Mahony, gleich mal austesten :P

Re: Übergabe Userdaten an Fremdprogramm

Verfasst: 27.03.2019 19:20
von Mahony
Hallo
Du darfst übrigens NICHT die Variable $user zuweisen, da diese ja bereits intern verwendet wird.

Also anstelle von

Code: Alles auswählen

$user =($user->data['username']);
besser eine andere Variable verwenden.

Zum Beispiel so etwas

Code: Alles auswählen

$benutzer =($user->data['username']);
Also hier dann mal der komplette Code

Code: Alles auswählen

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
$benutzer =($user->data['username']);
if($user->data['user_id'])
{
echo "willkommen im Archiv $benutzer";
}
else
{
 echo "Du musst draussen bleiben";
 die;
} 


Grüße: Mahony

Re: Übergabe Userdaten an Fremdprogramm

Verfasst: 04.04.2019 12:35
von oldsiggi
Super, vielen Dank, Mahony !!
Aber leider bekomme ich das nicht ans Laufen.

wie in der Aufgabenstellung schon beschrieben:
Wenn ich im meinem phpBB Board mit meinem Usernamen eingeloggt bin, dann möchte ich durch Aufruf eines fremden php-Programms diesen Usernamen einlesen.
Wenn ich den letzten Script in meine php-Webseite ganz oben einfüge, sollte doch zumindest der Username durch den Echo-Befehl angezeigt werden.
Das macht es aber nicht. Im Gegenteil - auch der Rest des Programms wird nicht ausgeführt und die ganze Seite bleibt weiss - nicht mal eine Fehlermeldung erscheint.
Woran kann das liegen?

Re: Übergabe Userdaten an Fremdprogramm

Verfasst: 04.04.2019 13:57
von oldsiggi
Jetzt hab ich es doch herausgefunden:

bin zu blöd.....
Muss natürlich den Pfad für das Root-Verzeichnis entsprechend setzen.

Funktioniert !!!

Vielen Dank

Re: Übergabe Userdaten an Fremdprogramm

Verfasst: 04.04.2019 16:10
von canonknipser
Hattest du evtl. vergessen zu erwähnen, dass dein Programm NICHT im Root-Folder von phpBB liegt? :ugeek: