Beiträge: 7
Themen: 1
Registriert seit: 20.03.2019
20.03.2019, 15:09
(Dieser Beitrag wurde zuletzt bearbeitet: 20.03.2019, 15:09 von oldsiggi.)
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...
Beiträge: 1.136
Themen: 39
Registriert seit: 27.08.2014
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
Beiträge: 7
Themen: 1
Registriert seit: 20.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)?
Beiträge: 2.041
Themen: 10
Registriert seit: 28.06.2007
MyBB-Version: 1.8.x
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";
Beiträge: 1.136
Themen: 39
Registriert seit: 27.08.2014
21.03.2019, 10:19
(Dieser Beitrag wurde zuletzt bearbeitet: 21.03.2019, 10:58 von itsmeJAY.)
Ist die global.php inkludiert per require?
PHP-Code:
require_once('global.php');
Beiträge: 7
Themen: 1
Registriert seit: 20.03.2019
Vielen Dank - geht ja fix mit den Antworten,
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.
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";
}
?>
Beiträge: 1.136
Themen: 39
Registriert seit: 27.08.2014
21.03.2019, 13:12
(Dieser Beitrag wurde zuletzt bearbeitet: 21.03.2019, 13:36 von itsmeJAY.)
Füg mal folgende Konstante vor dem require ein. Klappts dann?
Beiträge: 2.041
Themen: 10
Registriert seit: 28.06.2007
MyBB-Version: 1.8.x
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.
Beiträge: 7
Themen: 1
Registriert seit: 20.03.2019
21.03.2019, 14:02
(Dieser Beitrag wurde zuletzt bearbeitet: 21.03.2019, 14:04 von oldsiggi.)
(21.03.2019, 13:12)itsmeJAY schrieb: Füg mal folgende Konstante vor dem require ein. Klappts dann?
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, 13: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.
Beiträge: 1.136
Themen: 39
Registriert seit: 27.08.2014
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