![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 16.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Mam taki prosty system rejestracji i logowania użytkowników z bazy danych na swojej stronce. Wszystko działa poprawnie. Chciałbym jednak zrobić coś na styl autologowania aby użytkownik za każdym razem nie musiał wpisywać loginu i hasła, a został albo automatycznie zalogowany albo zostało mu już login i haslo wyświetlone, gotowe tylko do zatwierdzenia. Kombinowałem na różne sposoby z setcookie($login, $haslo, time()+9999); if(!isSet($_COOKIE['wyslane']) && !isSet($_POST['wyslane'])){ ale nic mi z tego nie wychodzi :/ Bardzo proszę o pomoc.
Znalazłem na internecie taką pomoc, w podobnej sprawie: do formularza dodałem: <input type="checkbox" name="autologin" value="1"> a do pliku
Po zalogowaniu (przy zaznaczeniu autologowania) - loguje się ok. Naciskam wyloguj. I teraz najważniejsze. Klikam w logowanie i automatycznie mnie loguje,czyli to o co mi chodziło, ale niestety nie jako dany użytkownik, tylko po prostu loguje. Ponawiam prośbę o pomoc... |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 54 Pomógł: 12 Dołączył: 4.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ja autologowanie robię tak, że jeśli ktoś zaznaczy podczas logowania, odpowiednią opcję, to zapisuję w bazie id użytkownika, przeglądarkę, czas wygaśnięcia autologowania i jakiś unikalny_ciąg. I ten unikalny ciąg zapisuję u użytkownika w ciastku.
Przy ponownym wejściu użytkownika (niezalogowanego oczywiście), sprawdzam czy istnieje odpowiednie ciastko z danymi. Jeśli istnieje to pobieram z bazy wiersz i sprawdzam czy dane się zgadzają. Jeśli nie wysyłam polecenie wygaśnięcia ciastka. Jeśli tak to ustawiam odpowiednie zmienne sesyjne. Czyli w sumie robię to samo co i Ty próbujesz zrobić. (IMG:style_emoticons/default/smile.gif) Przeanalizowałem pobieżnie Twój kod i chyba znalazłem błąd... Obecnie sprawdzasz czy ciastko "autologin" jest ustawione wyłącznie gdy $_POST['wyslane'] jest ustawione (a więc gdy ktoś skorzysta z formularza). No i jak pisałem... twój kod jest dziwny Powinieneś mieć raczej:
To tak na szybko przerobiłem, bez sprawdzania czy nie ma błędów.... Przeanalizuj mój kod i swój i dokonaj odpowiednich poprawek. Jeszcze raz zaznaczam, że mojego kodu nie uruchamiałem w PHP, więc nie wiem czy nie ma literówek lub innych błędów. Ten post edytował aachi 19.06.2011, 16:15:13 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 17:38 |