Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Opcja "zapamietaj Haslo" Przy Logowaniu
Forum PHP.pl > Forum > PHP
cbkore
czy ktos wie moze jak zrobic zeby po zalogowaniu sie na strone i zaznaczeniu opcji "zapamietaj haslo" po powrocie na nia nie trzeba bylo sie ponownie logowac?
ktos ma moze jakis przykladowy kod, albo linka, gdzie cos takiego bedzie opisane?
LukasMG
Poczytaj o Cookies w manualu. setcookie" title="Zobacz w manualu PHP" target="_manual

--Edit

A co w tym takiego trudnego.

Jeżeli jakiś user zaznaczy opcje zapamiętaj hasło i jego dane są poprawne to ustawiasz mu ciasteczko z jego danymi przez

  1. <?php
  2.  
  3. setcookie ('Nazwa_usera', $nazwa_usera, time() +[czas ważności w sekundach]);
  4. setcookie ('Hasło_usera', $hasło, time() +[czas ważności w sekundach]);
  5.  
  6.  
  7. ?>

(to tylko przykład, jak może działać. Nie ma tu żadnych zabezpieczeń itp. w stylu szyforwania hasła)

Potem tylko sprawdzasz przy wejściu na stronę czy ciastko istnieje. A dostęp do niego masz przez zmienną superglobalną
  1. <?php
  2.  
  3. $_COOKIE['nazwa_zmiennej_w_ciastku'];
  4.  
  5. ?>
cbkore
czytalem to juz, ale to nie jest takie latwe, moze jakies inne informacje?
jono
Ależ to JEST proste! Jedyne co musisz zrobić to umieścić ten kod PRZED wysłaniem czegokolwiek do przeglądarki.
cim
Cytat(jono @ 2004-08-16 15:50:46)
Ależ to JEST proste! Jedyne co musisz zrobić to umieścić ten kod PRZED wysłaniem czegokolwiek do przeglądarki.

no faktycznie jest proste... jest tylko taki wymóg, że musisz to robić na samym początku skryptu (zanim cokolwiek wy`print`ujesz etc), albo na początku wywołujesz buforowanie ob_start() i nie musisz się już martwić - możesz wywoływac setcookie na końcu skryptu
harmag
wlasnie staram sie napisac cos takiego, wszystko niby dziala, ale tak jak pisze na pl.php.net (pozwole sobie zacytowac)
Cytat
Częste pułapki:
- Ciasteczka nie będą widziane do następnego przeładowania strony dla której mają być widoczne.
- Ciasteczko może być usunięte tylko z tymi parametrami, z jakimi je ustawiono.

mnie zdaza sie wlasnie ta pierwsza "pulapka"

jezeli zmusze przeglarke do odswiezenia poprzez
Kod
header("Refresh: 1");


to dziala, ale widoczne jest to dodatkowe odswiezenie strony. Jak tego uniknac i co zrobic aby juz po pierwszy zaladowniu storny ciastka byly widoczne ?

z gory dzieki za odpowiedz.
MaKaO
Jeżeli moge się wmieszać w ten temat to mam lekko inne pytanie czy jest jakieś rozwiązanie przy wykorzystaniu sesji do logowania? A jeżeli nie to czy bez problemu można pomieszać ciastka z sesjami?
Yarecki
Ja używałem ciastek i sesji.

W ciastku trzymałem id sesji i losowy hash.
W sesji hash po którym sprawdzałem czy hash sesji i hash ciastka sie zgadzają.
Dravo
Witajcie
A ja uderze z innej beczki smile.gif:
Cookie + MySQL (mozna rowniez dodac sesje) (lub inna baza danych), w bazie danych przechowywujesz login,ip, kiedy zaczeta itp. (ogolnie wszytskie informacje potrzebne ci w aplikacji) A w cookie ip i inne dane mogace zweryfikowac ta konkretna osobe. Jednak radze aby nie opierac sie tylko na ip, bo kilka komp moze miec jeden ip.
Zycze milego eksperymetowania smile.gif.
Pozdrowienia
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.