Strona 1 z 1

Sprawdzenie czy użytkownik zalogowany na nadforum

: 15 marca 2020, 14:27
autor: wiessiek
Cześć
Nietypowa sprawa, i dawno nic nie pisałem w php więć proszę o wyrozumiałość oraz ewentualnie moderatora o przeniesienie tematu do innego działu :)
Forum phpbb 3.2.0 w którym jest utworzony katalog /archiwum i do niego zostało wrzucone stare forum phpbb by przemo w wersji 1.12.9
jedno i drugie samo w sobie działa. Ale chciałbym zrobić tak aby do forum /archiwum mieli dostep tylko osoby które już są zalogowane na forum w wersji 3.2.0 dalej zwanym bazowym, a jeszcze chętniej żeby od razu przenieść zalogowanie do pod-forum.
W danym momencie sprawdzam czy użytkownik jest zalogowany na forum bazowym w pliku /archiwum/index.php przez dodanie na początku pliku

Kod: Zaznacz cały

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

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

if ( $user->data['is_registered'] )
{
//--->>>>>>>>>>>>początek pliku index.php z forum phpbb by przemo<<<<<<---------
//define('IN_PHPBB', true); // juz definiowane wyżej
//$phpbb_root_path = './'; // zmiana root path na to poniżej
$phpbb_root_path = $phpbb_root_path . '/archiwum/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/functions_selects.'.$phpEx); 
//--->>>>>>>>>>>>tutaj dalsza część pliku index.php z forum phpbb by przemo<<<<<<---------
}
else 
{
    redirect(append_sid("../index.$phpEx", true));
}
i tutaj mam nastepujące problemy
1. przejscie na stronę /archiwum/index.php jako niezalogowany pamieta tą decyzję i przekierowuje mnie do bazowego forum nawet jeśli się zaloguje i dopiero wyczyszczenie danych w przegladarce pomaga czy da się to jakoś obejść.

2. jak już jestem na podforum jako zalogowany w forum bazowym to dostaje błąd:
Błąd ogólny
Illegal use of $_SERVER. You must use the request class to access input data. Found in /archiwum/common.php on line 117. This error message was generated by deactivated_super_global.
linia 117 wygląda następująco :
$PHP_SELF = ($HTTP_SERVER_VARS['PHP_SELF']) ? $HTTP_SERVER_VARS['PHP_SELF'] : $HTTP_ENV_VARS['PHP_SELF'];

Co robię nie tak z tym logowaniem jakieś sugestie?

3. Czy dało by się zmodyfikować tak podforum żeby przypisać od razu sesję z forum bazowego?

4. Mam też problem z ogonkami ale to pewnie kwestia importowania do bazy danych podczas przenoszenia.

Z góry dzieki za sugestie