![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 789 Pomógł: 41 Dołączył: 30.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witam,
nigdzie nie znalazłem odpowiedzi na nurtujące mnie pytanie. Jak utworzyć tzw. autologowanie na session handlerze wykorzystującym bazę danych jako miejsce przetrzymywania danych? Struktura tabeli sessions Kod session_id | session_time | session_start | session_value | Część kodu session_handler'a
Kodu z funkcji nie podaję bo każdy wie na jakiej zasadzie działa ![]() |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
A co rozumiesz przez autologowanie? Bo jeśli to co ja (automatycznie zalogowanie użytkownika) to sama sesja tu niewiele daje...
Ten post edytował crashu 26.06.2005, 19:20:09 -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 789 Pomógł: 41 Dołączył: 30.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Mam sobie formularz logowania, i gdy zaznaczę opcję zapamiętaj mój login, chcę aby po wyłączeniu przeglądarki i włączeniu strony ponownie (np. po 2 godzinach) sesja była aktywna - coś jak w phpBB - najlepiej gdyby ważność autologowania była ustawiona na 72 godziny (3dni).
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
No to w czym problem? Ustawiasz ciacho z np. ID usera i może zhashowanym hasłem dla pewności. Przy wejściu na stronę sprawdzasz czy takie dane istnieją, jeśli tak i są poprawne wykonujesz to samo co przy logowaniu. Możesz też zrobić sesje ważną przez te 72 godziny. Niewiele ma to wspólnego typowo z session handlerem a i na pewno niedużo z php Pro.
Ten post edytował crashu 26.06.2005, 19:58:16 -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 742 Pomógł: 0 Dołączył: 14.12.2003 Skąd: Gdańsk, Trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
php Pro => php
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 134 Pomógł: 0 Dołączył: 27.01.2005 Skąd: Białystok Ostrzeżenie: (0%) ![]() ![]() |
Ja robię to za pomocą cookies. Zostawiam dwa: UserName i UserToken. UserName to nazwa użytkownika z tabeli users. Token to hash (sha1) dowolnej liczby z której pobrano uniqueid. Przy starcie strony wczytuje cookies utworzone przy logowaniu i porównuje token z bazy z tokenem cookies dla użytkownika cookies. Jeśli ok i sesja wygasła to tworzę nową o id tez zostawionym w cookies.
-------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 789 Pomógł: 41 Dołączył: 30.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Teraz przy logowaniu mam ustawione ważność sesji na 72 godziny, ustawiam cookies w taki sposób:
I teraz niestety nie wiem jak uaktywnić sesje o SID=$_COOKIE['session_sid']... wykorzystująć session_id" title="Zobacz w manualu PHP" target="_manual($_COOKIE['session_sid']) a następnie session_start, niestety nie odzyskuję poprzedniej sesji - wywala mi okienko logowanie... |
|
|
![]()
Post
#8
|
|
![]() Grupa: Przyjaciele php.pl Postów: 742 Pomógł: 0 Dołączył: 14.12.2003 Skąd: Gdańsk, Trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
zrób coś w tym stylu:
a sessionid zostaw w spokoju niech będzie za każdym razem inne. Ważne żebyś zawartość $_SESSION miał taką samą. |
|
|
![]()
Post
#9
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 789 Pomógł: 41 Dołączył: 30.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Ale każdy będzie mógł sobie wtedy ustawić ciastko sesja gdzie sobie zserializuje jakieś wartości... myślałem aby ustawiał on taki sam SID po sprawdzeniu wartosci sesji....
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Po kiego grzyba zapisywać w ciastku całość sesji :?:
-------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 789 Pomógł: 41 Dołączył: 30.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Proszę o pomoc, bo to co napisał aleksander nie działa...
Zaczęło mi się wszystko sypać i po zalogowaniu się i przeniesieniu na site przez header() wyświetla mi pustą stronę :/ Ten post edytował tiraeth 27.06.2005, 11:32:28 |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 134 Pomógł: 0 Dołączył: 27.01.2005 Skąd: Białystok Ostrzeżenie: (0%) ![]() ![]() |
Jak masz dane ciach z SIDem to robisz przez session_id, danych nie dajesz do ciacha. Jeżeli nie odzyskujesz id sesji to masz coś z obsługą cookies
-------------------- |
|
|
![]()
Post
#13
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 789 Pomógł: 41 Dołączył: 30.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Przy takim prostym kodzie sesji, bez session_handlera, wszystko działa ![]() ![]() |
|
|
![]()
Post
#14
|
|
![]() Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
Co do problemu auto logowania.
Po 1. Ustaw cookie w sessionh z id tak zeby nie gaslo z zamknieciem przegladarki, Po 2. Polecam np zapisac cookie z loginem i haslem ale obie wartosci w md5 a potem sprawdzci czy w bazie takie istnieja Kod where md5( poleZloginem ) = $_COOKIE['login'] AND ...
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 151 Pomógł: 0 Dołączył: 20.02.2005 Skąd: Poznań Ostrzeżenie: (30%) ![]() ![]() |
Hm... sorki za OT ale wie ktos skad mozna sciagnac taka przykladowa klase
![]() zeby miec jakis wzor co i jak ![]() ![]() -------------------- ![]() |
|
|
![]()
Post
#16
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
@kojot Chodzi o handler ? Jest artykuł kwiaatka na wortalu
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.08.2025 - 22:49 |