Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] cookies
Forum PHP.pl > Forum > Przedszkole
Chemiq
chcę zrobić zapamiętywanie zalogowanego użytkownika. wysłanie cookies jest proste i raczej nie wymaga tłumaczenia ale odczytanie tego co w nich zawarte sprawiło mi problem. nie mogłem tego znaleźć (chyba że źle szukałem). proszę o podanie wskazówek jak wysłać do cookie dane ze zmiennych $login i $haslo a później je odczytać jako te same zmienne.
Cysiaczek
$_COOKIE i wszytsko jasne prawda? Tak samo ja $_SESSION, $_POST, $_GET
Chemiq
część problemu jakoś już rozwiązałem. ciasteczko z poprawnymi danymi (tzn. tymi które chciałem) jest wysyłane. teraz mój problem polega na tym że nie wiem takiej rzeczy: jak zrobić żeby na podstawie tego ciasteczka (i danych w nim zawarych) automatycznie zalogować użytkownika
nazihipi
  1. <?php
  2. if( isset( $_COOKIE['user'] ) ) {
  3. //pobierasz z ciacha login i haslo (oczywiscie wczesniej je jakos zaszyfruj...)
  4. }
  5. ?>
Chemiq
z szyfrowaniem to jasna sprawa ale jak właśnie pobrać z ciastka ten login i hasło? przepraszam jeżeli to pytanie wyda się banalane
nazihipi
pierwszy lepszy przykład z manuala

  1. <?php
  2. // mozesz ustawic na miesiac, rok jak chcesz..
  3. setcookie( 'user[login]', $login );
  4. setcookie( 'user[pass]', $password );
  5.  
  6. $user_data = array();
  7.  
  8. if( isset( $_COOKIE['user'] ) ) {
  9.  foreach( $_COOKIE['user'] as $key => $value ) {
  10.  $user_data[$key] = $value;
  11.  }
  12. }
  13.  
  14. // loguj
  15.  
  16. echo 'Witaj, ' . $user_data['login'];
  17.  
  18. ?>
Chemiq
dzięki. problem już rozwiązałem. zrobiłem takie coś:
  1. <?php
  2. if (isset($_COOKIE["login"])) {
  3. $login = $_COOKIE["login"];
  4. }
  5. if (isset($_COOKIE["haslo"])) {
  6. $haslo = $_COOKIE["haslo"];
  7. }
  8. ?>


i w kilka fragmentów kodu włożyłem w:
  1. <?php
  2. if (!isset($_COOKIE["login"])) {
  3. }
  4. ?>


i wszystko działa jak należy
prolam
a nie lepiej to zrobic na zasadzie sesji ale przechowywanej w pliku cookie?questionmark.gif
Chemiq
możliwe że byłoby lepiej ale niestety moja wiedza na temat sesji oraz cookies nie jest zbyt rozległa, a co z tego wynika nie mam pojęcia jak to zrobić. mój sposób jak narazie działa bez problemów. jeżeli Ci się chce to możesz przedstawić skrypt który daje taki efekt o jakim napisałeś. z miłą chęcią go przeanalizuję i może wykorzystam biggrin.gif
nazihipi
Cytat(prolam @ 21.08.2006, 08:19 ) *
a nie lepiej to zrobic na zasadzie sesji ale przechowywanej w pliku cookie?questionmark.gif

kolega Chemiq chce zrobić automatyczne logowanie usera, więc gdyby chciał to zrobić na sesji musiałby (najwygodniej) zaimplementować własny mechanizm sesji np. na bazie danych, a bez ciastka z ID sesji i tak by się nie obeszło, tyle że dane usera byłyby dużo bezpieczniejsze....
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.