![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 382 Pomógł: 22 Dołączył: 21.05.2007 Skąd: Elbląg Ostrzeżenie: (0%) ![]() ![]() |
Najpierw może opis skryptu.
Skrypt ma za zadanie utworzyć nową sesję i w tej sesji może dowolnie zmieniać treść z bazy danych. Taki mini panel admina. Wykorzystuję AdoDB. Mam tabelkę, w której utorzyłem m.in pole 'online' Są dwie możliwości w online - Y albo N plik systemy.php (do którego odnosi się plik cos.tpl, implantowany w każdym innym pliku) wyszukuje wszystie rekordy z tabeli tworzy nową sesję nadaje danym sesyjnym wartośc danych wpisanych w POST sprawdza czy dane sesyjne równają się danym z tabeli jesli tak to tworzy nowe dane sesyjne z wartością prawidłowych danych i zmienia status online na Y gdzie login i hasło równaja sie danym sesyjnym (prawidłowymi) potem plik cos.tpl sprawdza czy user z danych sesyjnych ma status Y jesli tak to sprawdza i wyświetla nick i poziom autoryzacji usera tutaj juz jest zawartość panelu admina i jesli strone get równa sie logout to szuka usera w bazie zalogowanegio usera i ustawia mu status online N niszczy sesje ---------------------- opis problemu: po testach prawie wszystko działa... sesje pamieta wszystko jest ok. tylko jak wylogowuję to ustawia status N, ale nie niszczy sesji tzn. jak chcę zalogowac innego usera to ustawia status Y ale nie tworzy nowej sesji, bo porzednia jeszcze istnieje (sprawdzałem poprzez wyświetlanie session_id) teraz podam pliki: systemy.php:
cos.tpl (tylko tresć php)
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 102 Pomógł: 12 Dołączył: 27.01.2007 Skąd: north Poziom: 158 Tytuł: Miszcz Ostrzeżenie: (0%) ![]() ![]() |
po zalogowaniu rób session_regenerate_id();
spróbuj wyczyścić przed zniszczeniem sesji: $_SESSION['sid'] i $_SESSION['pass']. Ten post edytował carbolymer 13.01.2008, 20:53:21 -------------------- Blog | plugin system by carbolymer
Residence: #php.pl @ IRCNet "Pralki powstały po to, aby kobiety też mogły programować" |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 382 Pomógł: 22 Dołączył: 21.05.2007 Skąd: Elbląg Ostrzeżenie: (0%) ![]() ![]() |
wyczyścić tzn mam zrobić
$_SESSION['sid'] = ''; $_SESSION['pass'] = ''; ![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 14 Dołączył: 13.01.2008 Skąd: Birmingham Ostrzeżenie: (0%) ![]() ![]() |
wyczyścić tzn mam zrobić $_SESSION['sid'] = ''; $_SESSION['pass'] = ''; ![]() ew unset($_SESSION['sid']) i unset($_SESSION['pass']) ![]() -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 382 Pomógł: 22 Dołączył: 21.05.2007 Skąd: Elbląg Ostrzeżenie: (0%) ![]() ![]() |
hmmm w dalszym ciągu nic...
byłbym wdzięczny jakby ktoś przetestował ten skrypt u siebie... aktualna wersja: systemy.php:
cos.tpl:
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 102 Pomógł: 12 Dołączył: 27.01.2007 Skąd: north Poziom: 158 Tytuł: Miszcz Ostrzeżenie: (0%) ![]() ![]() |
a w czym nadal jest problem? po zalogowaniu tworzy nowy id sesji. A jeżeli chcesz coś innego to wywołaj session_regenerate_id(true); zamiast session_regenerate_id();
-------------------- Blog | plugin system by carbolymer
Residence: #php.pl @ IRCNet "Pralki powstały po to, aby kobiety też mogły programować" |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 382 Pomógł: 22 Dołączył: 21.05.2007 Skąd: Elbląg Ostrzeżenie: (0%) ![]() ![]() |
problem jest w tym, że nie loguje nowego usera...
zmienia online na Y ale nie tworzy nowej sesji :/ edit: sprawdziłem na drugim kompie (inna sesja) loguje tylko SID 1 :/ Ten post edytował MajareQ 13.01.2008, 21:47:17 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 102 Pomógł: 12 Dołączył: 27.01.2007 Skąd: north Poziom: 158 Tytuł: Miszcz Ostrzeżenie: (0%) ![]() ![]() |
ha! też miałem taki problem. ale zrobiłem do tego pewien myk... po zalogowaniu ustawialem $_SESSION['logged']=true; przed wylogowaniem $_SESSION['logged']=false; jeżeli $_SESSION['logged']=false; to umożliwiałem bezwarunkowo logowanie.
btw. pozdrawia zawada ;] -------------------- Blog | plugin system by carbolymer
Residence: #php.pl @ IRCNet "Pralki powstały po to, aby kobiety też mogły programować" |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 382 Pomógł: 22 Dołączył: 21.05.2007 Skąd: Elbląg Ostrzeżenie: (0%) ![]() ![]() |
nie działa... :/ mógłbyś mi poprawic ten kod, bo ja się zaraz załamię...
![]() pozdrawia śródmieście ![]() mam mały progres, bo za każdym nowym logowanie SID 1 tworzy nową sesję... ale wciąż nie loguje mi innego usera... prosze o pomoc... systemy.php:
cos.tpl:
Ten post edytował MajareQ 14.01.2008, 16:31:19 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 285 Pomógł: 37 Dołączył: 18.12.2007 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Wybacz bo jakoś mocno się nie wczytałem, ale póki co wytłumacz mi dlaczego w cos.php nie ma session_start()
![]() |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 382 Pomógł: 22 Dołączył: 21.05.2007 Skąd: Elbląg Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 461 Pomógł: 32 Dołączył: 17.09.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
I Ty chcesz by to działało ?
SELECT * FROM sid; To Ci zwróci wszystkie wiersze z tabeli, odczytujesz pierwszy w którym założę się masz wpisane sid = 1 ... a potem porównujesz z tym odczytanym sid'em ... Weź kartkę, ołówek w dłoń - rozrysuj co chcesz osiągnąć i napisz od nowa ... A to, że sesja istnieje to niech sobie istnieje ... przecież może istnieć ... ja u siebie często loguję się jako różne osoby na tej samej sesji i działa - tyle, że trzeba umieć programować tak by sprzątać odpowiednio ... pozdr. Ten post edytował Kocurro 16.02.2008, 10:27:42 |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 382 Pomógł: 22 Dołączył: 21.05.2007 Skąd: Elbląg Ostrzeżenie: (0%) ![]() ![]() |
odświeżasz starego kotleta...
już sobie dawno poradziłem... napisałem całkiem inaczej i nowy system. temat do zamknięcia... |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 08:53 |