Webboard

Pełna wersja: Integracja - sprawdzenie statusu logowania
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
wersja skryptu MyBB:1.6.13
adres forum:theroyalfive.com/forum
na czym polega problem (screen, opis, komunikaty):
Strona: theroyalfive.com/tea_set.html
Witam serdecznie!

Jeszcze niedawno z integracją forum z stroną wszystko działało ok. Jednak dzisiaj sprawdziłem logowanie i jest problem, nie wiem zbytnio czym spowodowany.
Logowanie odbywa się poprawnie, gdy klikam submit mojego formularza zostaje zalogowany na forum. Jednak sprawdzenie na stronie czy jestem zalogowany czy nie, nie działa. Tak jak wspominałem, wcześniej działało.

Czy można w ACP ustawić, aby integracja z stroną nie działała lub cokolwiek w tym stylu? Oddałem forum do użytku może ktoś coś tam pozmieniał? Ja nic w kodzie od integracji nie zmieniałem. Tak jakby obiekt klasy integracyjnej nie widział sesji czy cookiesow.

Czy aktualizacja MYBB do nowszej wersji może spowodować zaprzestanie działania integracji?

Formularz wygląda tak:
Kod:
echo "<form action='/forum/member.php' method='post'>
                        <input type=\"hidden\" name=\"my_post_key\" value=\"$mybb->post_code\" />
                        <input type='text' name='username' size='15' maxlength='30' class='input_log' placeholder='Login' /><br />
                        <input type='password' name='password' size='15' class='input_pass' placeholder='***********'/>
                        <input type='hidden' name='action' value='do_login'>
                        <input type='hidden' name='url' value='../index.php' />
                        <input type='submit' class='submit login_submit' name='submit' value='Ok' /><br /><br />
                        <div class='przypomnij'><a href='http://www.theroyalfive.com/forum/member.php?action=lostpw'>{Przypomnij hasło}</a></div>
                        <br></form><br>";

Wszystko jest ok zostaje zalogowany na forum. Ale jak sprawdzić czy jestem zalogowany czy nie? I jak pobrać dane użytkownika?
Używałem do tego kodu:
Kod:
global $mybb;
                if(!$mybb->user['uid'])
Jednak teraz on nie działa i nie wiem czy to Moja wina czy coś się zmieniło?

Jak pobrać dane użytkownika zalogowanego? To też przestało działać.

Kod:
echo ($MyBBI->isLoggedIn()) ? 'You are logged in' : 'You are not logged in';
Daje niezalogowany pomimo ze jestem zalogowany.

Konfiguracja w indexie:
Kod:
define('IN_MYBB', NULL);
require_once './forum/global.php';
include ("classes/class.MyBBIntegrator.php");
require_once MYBB_ROOT.'inc/class_parser.php';
$MyBBI = new MyBBIntegrator($mybb, $db, $cache, $plugins, $lang, $config);
Bardzo proszę o pomoc.

Salvation

Ściągnij najpierw najnowszą paczkę MyBB + spolszczenie. Zainstaluj update i napisz tu jeszcze raz czy problem nadal jest.
Czy aktualizacja forum do nowszej wersji może powodować problem nie działania integracji z klasą? Lub nieaktualna wersja forum jeśli chodzi o najnowszą może to powodować?

Salvation

Tego nie wiem, ale zawsze warto mieć aktualną wersję chociażby, żeby pozbyć się luk bezpieczeństwa.
Jeżeli nie chcesz aktualizować forum, to poczekaj na kogoś bardziej ogarniętego w mechanizmie MyBB ;)
Zrobię export bazy i wrzuce stronę razem z forum na inny serwer zobaczymy czy będzie działać.
Kurde strasznie Mi popsuł pracę ten problem ;]

EDIT
-----------------------------
Zainstalowałem forum na innym serwerze i nie importowałem starej bazy, wrzuciłem tam swoją stronę i próbuję się zintegrować z tym forum.
Login znowu działa ale wszelkie funkcje, które próbuję odpalić poprzez obiekt $MyBBI nie działają.
------------------------------
Doszedłem do wniosku, że na stronie muszą nie tworzyć się te same sesje i ciasteczka co na forum. Skoro $mybb->user['uid']; zwraca 0, to nie widzi żadnych zalogowanych użytkowników. Wywoływanie funkcji z obiektu klasy integracyjnej działa poprawnie.
Hm, czy ciasteczka na pewno 'dosięgają' do adresu na którym jest ten integrator?
Przestudiowałem budowe ciasteczek w funkcji do logowania w classie integrator. Ustawiłem swoje ustawianie cookiesów.
Co do ustawienia cookiepath to musi być na "/", a nie "/forum/" bo wtedy ustawiane są tylko na forum.



działa :)