MyBB.de Forum
Variable für angemeldete User - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Sonstiges (https://www.mybb.de/forum/forum-1.html)
+--- Forum: Programmierung (https://www.mybb.de/forum/forum-32.html)
+--- Thema: Variable für angemeldete User (/thread-36335.html)

Seiten: Seiten: 1 2


Variable für angemeldete User - oldsiggi - 20.03.2019

Hallo,
ich möchte das mybb-board mit einer selbst programmierten php-Seite bekannt machen.
Dazu möchte ich, dass das die php-Seite eine User-Session/Cookie aus dem mybb-board ausliest um zu sehen, dass der User im mybb-board eingeloggt ist.
Ist der user NICHT im mybb-board eingeloggt, soll er das php-programm auch nicht öffnen können.

Das hat mit einer anderen Boardsoftware schon mal funktioniert.
Da musste ich in der php-Seite folgenden script einfügen:

<?php

session_start();
if(!isset($_COOKIE['bs_user']))
   {
   echo "Dieser Bereich ist nur für eingeloggte User erlaubt</a>";
   exit;
   }
?>

Ich denke mal, dass ich die Variable ['bs_user'] hier ändern muss. Kann mir jemand einen Tip geben?

Darüber hinaus möchte ich auch einen Link zum php-Programm mit in die Menüleiste vom mybb-board einfügen.

Danke schon mal...


RE: Variable für angemeldete User - itsmeJAY - 20.03.2019

Du könntest per require die global.php einbinden und folgendes probieren:


PHP-Code:
if($mybb->user['uid'])
{
//user ist eingeloggt
}
else
{
 //user ist nicht eingeloggt


Grüße,
JAY


RE: Variable für angemeldete User - oldsiggi - 21.03.2019

Vielen Dank erst mal...

ich habe mich mal daran versucht.
Dabei habe ich den unten stehenden code über dem head-bereich des externen php-Programms geschrieben:

<?php

session_start();
if($mybb->user['uid'])
{
echo "willkommen";
}
else
{
 echo "nicht willkommen";
}
?>
 
Als Ergebnis schreibt das externe Programm "nicht willkommen" - also hat die Übergabe der Variable nicht funktioniert. Was mache ich falsch (oder unvollständig)?


RE: Variable für angemeldete User - doylecc - 21.03.2019

Bevor du $mybb->user['uid'] verwenden kannst, musst du darüber noch die global.php von MyBB einbinden.
PHP-Code:
require_once "pfad-zum-mybb-ordner/global.php"



RE: Variable für angemeldete User - itsmeJAY - 21.03.2019

Ist die global.php inkludiert per require?

PHP-Code:
require_once('global.php'); 



RE: Variable für angemeldete User - oldsiggi - 21.03.2019

Vielen Dank - geht ja fix mit den Antworten, Wink
Es gibt 2 Dateien mit dem Namen global.php.
eine im root verzeichnis und eine im Ordner darunter \archive\global.php


funzen leider beide nicht. Confused
Bekomme eine Fehlermeldung:

Direct initialization of this file is not allowed.
Please make sure IN_MYBB is defined.


hier nochmal mein aktueller php-code:
unter dem verzeichnis /board liegt das mybb - das externe liegt daneben im /archiv  - deshalb ../

<?php

require_once "../board/global.php";
session_start();
if($mybb->user['uid'])
{
echo "willkommen im Archiv ($mybb->user['uid'])";
}
else
{
 echo "kein Zugang gewährt";
}
?>


RE: Variable für angemeldete User - itsmeJAY - 21.03.2019

Füg mal folgende Konstante vor dem require ein. Klappts dann?

PHP-Code:
define('IN_MYBB'1); 



RE: Variable für angemeldete User - doylecc - 21.03.2019

Beachte auch, wenn sich deine PHP-Seite außerhalb des MyBB-Ordners befindet, muss die Gültigkeit der MyBB-Cookies entsprechend erweitert werden.
Wenn MyBB zum Beispiel im Ordner "board" liegt und im Admin-CP unter Konfiguration -> Seiten_Details -> Cookie-Pfad /board/ eingetragen ist, müsste es auf / geändert werden (und anschließend die vorhanden Cookies im Browser gelöscht werden), damit sie auch außerhalb des Ordners gelten.


RE: Variable für angemeldete User - oldsiggi - 21.03.2019

(21.03.2019, 14:12)itsmeJAY schrieb: Füg mal folgende Konstante vor dem require ein. Klappts dann?

PHP-Code:
define('IN_MYBB'1); 

Haha, lustig:
Wenn ich das davor setze, gelangt die php-Seite in die Startseite vom mybb-Board

hilft deshalb leider auch nicht ...

(21.03.2019, 14:37)doylecc schrieb: Beachte auch, wenn sich deine PHP-Seite außerhalb des MyBB-Ordners befindet, muss die Gültigkeit der MyBB-Cookies entsprechend erweitert werden.
Wenn MyBB zum Beispiel im Ordner "board" liegt und im Admin-CP unter Konfiguration -> Seiten_Details -> Cookie-Pfad /board/ eingetragen ist, müsste es auf / geändert werden (und anschließend die vorhanden Cookies im Browser gelöscht werden), damit sie auch außerhalb des Ordners gelten.

Danke! Das ist auch so. Ich habe das gemäß deiner Beschreibung geändert.
Aber die Fehlermeldung:
Direct initialization of this file is not allowed.
Please make sure IN_MYBB is defined.

bleibt trotzdem.


RE: Variable für angemeldete User - itsmeJAY - 21.03.2019

Hi,

Auch im offiziellen MyBB.com Forum steht:

PHP-Code:
define('IN_MYBB'1); require "./global.php"

Ich wüsste über Handy jetzt nicht direkt, wo genau der Fehler liegt