zrobilem skrypt ktory pobiera nazwe usera i haslo sprawdza je, wszystko jest ladnie i pieknie tylko teraz co wrzucic do sesji zeby mozna bylo przechodzic miedzy forum a maja strona??
najczesciej wruzca sie jakieś unikalne ID, ew. nick
phpbb raczej nie korzysta ze standardowej sesji php (choc mozliwe), najlepiej zlukaj zrodla phpbb i zobacz jak tak sie loguje.
[Na 100% nie korzysta z sesji typowych dla PHP - dop. A.B.]
Sesje w phpBB są tak napisane, że bardzo łatwo można z nich korzystać - zamiasr pisać swoje logowanie. Wszystko opiera się na tabeli phpbb_session oraz pliku /includes/sessions.php.
Wystarczy, że do każdego swojego skryptu na początku dodasz plik sessions.php i będziesz mógł korzystac z tablicy $user_data, która zawiera wszystkie potrzebne info do zarządzania logowaniem. Fajna rzecz. Polecam dokładne przejrzenie źródeł.
Nadal nie wiem jak to zrobic. Dalaczylem ten plik sessions.php. mam taki kod:
<?php
if ( isset($userdata['user_id']))
{
print "zalogowany";
}
else
{
print "<table><form method=\"post\" action=\"forum/login.php?sid=".append_sid("forum/login.php", true)."\">
<tr><td>Login: </td><td><input type=\"text\" name=\"username\" size=\"8\" value=\"nick\" class=\"formularz\" onFocus=\"this.className='formularz1'\" onBlur=\"this.className='formularz'\"></td></tr>
<tr><td>Hasło: </td><td><input type=\"password\" name=\"password\" size=\"8\" class=\"formularz\" onFocus=\"this.className='formularz1'\" onBlur=\"this.className='formularz'\"></td><tr>
<tr><td><input type=\"submit\" value=\"Zaloguj\" size=\"8\" /></form></table>";
}
?>
i gdy proboje sie logowac wyswietla sie ten formularz forum
Nadal nie wiem jak to zrobic. Dalaczylem ten plik sessions.php. mam taki kod (...)
W którym miejscu go dołączyłeś? Do swojego skryptu dodaj:
include_once("sessions.php");
...i powiedz czy zadziałało.
if (!isset($userdata['user_id'])) - to jest źle.
user_id jest zawsze ustawiany. Z tym, że użytkownik anonimowy ma id = -1.
Do sprawdzenia, czy user jest zalogowany uzyj tego:
if (!$userdata['session_logged_in'])
{
echo 'Niezalogowany';
}
a jak zrobic z tym formularzem?? Gdy uzywam mojego przenosi mnie do tego z forum a nie loguje mnie. Oryginalny ma action=login.php?sid=jakis badziew. W źrodlacz widzalem ze jest do tego funkcja ale nie wiem co to jest
Przejrzyj źródła jeszcze raz i jeszcze raz. No a potem jeszcze raz to będziesz wiedział. Żeby się zalogować musisz: skończyć sesje i zacząć nową. Tylko tyle podpowiem. Wszystko masz w sessions.php, login.php i logout.php. Powodzenia :)
Dodalem sobie strone tak jak jest opisane na http://phpbb.pl/forum/viewtopic.php?t=9330 ale gdy jestem zalogowany do urla nie dodaje mnie sie sid:( Dodam jeszcze ze forum jest na http://forum.x.net a dodana strona na http://x.net
append_sid(forum.url)
Doszedłem do tego. Wystarczy po prostu dodać &sid=$userdata[session_id] do kazdego linku i jest ok