Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak zrobić Zapamiętaj Mnie
Forum PHP.pl > Forum > Przedszkole
Weles
Witam!

Wiele razy chciałem zrobić zapamiętaj mnie, czytałem wiele tematów i na tym forum i nie tylko o np. setcookie które mi nie działały/albo nie umiałem użyć, o zapisywaniu hashu do bazy i do cookie i ich porównaniach, i różnych cudach o których czytałem i w manualu i w internecie na różnych stronach - Lecz nadal nie wiem jak tak naprawdę najlepiej zrobić tę opcję "Zapamiętaj Mnie", i jak użyć tego sposobu w praktyce.

Dziękuję z góry za pomoc,
Pozdrawiam.
jackraymund
najlepiej cookie, a w innym przypadku możesz zrobić zapamiętaj mnie na adres ip w bazie danych
powiedz najlepiej jaki masz problem z cookiesami
Weles
Ogółem to chcę (oraz nie wiem czy się da) zapisać cookie aby było odczytane w sesji, gdyż na całej stronie mam odczyt sesji.

Mam np. tak:

if($_SESSION['login'] == $zapytanie_sprawdzajace_login_w_bazie)

oraz takie samo porównanie hasła. No i chciałbym zapisać w cookie te sesje, aby potem były odczytane, ale nie wiem jak.

Tak jak pisałem czytałem manuala i setki tematów, i nadal nie wiem jak to powiedzieć.. 'Oco kaman'.
jackraymund
nie wiem jak jest na tym forum z linkami do innych stron, ale masz tutaj tutorial
http://www.eioba.pl/a/1u8h/rejestracja-i-logowania-phpmysql
plik czwarty i piąty, login.php i index.php ew logout.php
pamiętaj że
session_start();
musi być na samiutkim początku
nawet przed takimi śmieciami jak te
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
jeżeli używasz include to tylko w index.php na samej górze

@edit
pomyliłem cały sens

http://kursy.skryptoteka.pl/kurs,2,php.html/6
tutaj masz coś o cookiesach
  1. setCookie("NazwaCiasteczka", "WartoscCiasteczka");
  2. if(isset($_COOKIE[?NazwaCiasteczka?]))
  3. {
  4. echo "NazwaCiasteczka = $_COOKIE[?WartoscCiasteczka?]";
  5. }
  6. else
  7. {
  8. echo "Ciasteczka zostały ustawione, proszę odświeżyć stronę!";
  9. }
  10. ?>


3 flaga setcookie to czas cookiesa

  1. <?php
  2. $wygasniecie = time() + (60 * 60); //po godzinie
  3. $wygasniecie = time() + (60 * 60 * 2); //po dwóch godzinach
  4. $wygasniecie = time() + (60 * 60 * 24); //po jednym dniu
  5. $wygasniecie = time() + (60 * 60 * 24 * 7); //po tygodniu
  6. ?>
Weles
W tamtym tutorialu nie ma nic o zapamiętywaniu hasła, a takie pierdoły jak logowanie czy rejestracje i inne skrypty to ja umiem zrobić.

@EDIT:
Ok, już zobaczę ten kod tongue.gif
jackraymund
pomyliło mi się, zobacz tutaj
http://www.egrafik.pl/porady/php-do-czego-...je-wykorzystac/
  1. <?php
  2. $wygasniecie = time() + (60 * 60 * 24 * 4);
  3. setCookie("NazwaCiasteczka", "WartoscCiasteczka",$wygasniecie); //wygaśnie po 4 dniach
  4. ?>
Weles
Dzięki za pomoc smile.gif
Fifi209
Cytat(Weles @ 18.03.2012, 10:35:33 ) *
W tamtym tutorialu nie ma nic o zapamiętywaniu hasła

Bo hasła ani loginu się nie zapamiętuje, nie zapisuje się tego do sesji ani tym bardziej do cookie.
jackraymund
Cytat(Fifi209 @ 18.03.2012, 13:05:07 ) *
Bo hasła ani loginu się nie zapamiętuje, nie zapisuje się tego do sesji ani tym bardziej do cookie.

ale można użyć pralki łącząc np. hasło login e-mail
$1 = sha1(pw)
$1 .= sha1(login)
$1 .= sha1(email)
$1 = sha1($1)
a do sprawdzenia to tylko wyczytanie z bazy te dane shashowanie i porównanie, oczywiście można dodać jakieś inne śmieci md5 itd.
Weles
@UP'y:
Ja każde hasło koduje w PASSWORD('') - nigdy nie zapamiętuje pierwotnej wersji w sesji ani niczym o.o
Fifi209
Cytat(jackraymund @ 18.03.2012, 14:52:28 ) *
$1 = sha1(pw)
$1 .= sha1(login)
$1 .= sha1(email)
$1 = sha1($1)

Nie prościej złączyć i później hashować?
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.