Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] zapamiętanie użytkownika który się zalogował, a po wejści jeszcze raz na strone nie musiał się logować,cookie chyba?
Lejto
post 13.01.2008, 17:56:35
Post #1





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

Ostrzeżenie: (0%)
-----


Jak zrobić chyba za pomocą cookie.
User loguje się wszystko jest ok.
Po opuszczeniu strony nie wylogowywuje się.
Po jakimś czasie wchodzi na strone i nie musi się jeszcze raz logowac bo go zapamiętało.

Szukałem w googlach żeby nie bylo winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
Lion_87
post 13.01.2008, 18:16:29
Post #2





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


no jak to nie ma ?

a np: http://www.webdiary.pl/technologie+art.id+35.htm
Go to the top of the page
+Quote Post
Maxik
post 13.01.2008, 18:20:04
Post #3





Grupa: Zarejestrowani
Postów: 726
Pomógł: 129
Dołączył: 10.01.2008
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Jedyne co w tym artykule to do odczytania użyj
  1. <?php
  2. $_COOKIES['nazwa_cookie'];
  3. ?>


--------------------
Pomogłem? Kliknij przycisk Pomógł pod pomocnym Ci postem.
http://maxik.me/
Go to the top of the page
+Quote Post
RubiX
post 13.01.2008, 18:21:31
Post #4





Grupa: Zarejestrowani
Postów: 162
Pomógł: 6
Dołączył: 14.02.2007
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Polecam poczytać mój wcześniejszy temat :

http://forum.php.pl/index.php?showtopic=84432

i coś o ustalaniu cookies

  1. <?php
  2. setCookies ("nazwa", "zawartosc", "czas");
  3. ?>


Później można pobierać dane z cookies :

  1. <?php
  2. if (isset($_COOKIE['nazwa'])) {
  3. echo $_COOKIE['nazwa'];
  4. }
  5. ?>


Tylko pamiętaj że jeżeli chcesz robić automatyczne logowanie za pomocą cookie to zawartość ciasteczka musi być bezpieczna niewpisuj tam zwykłego loginu albo hasła bo każdy może zmieniać zawartość ciasteczka dlatego poczytaj mój poprzedni temat.


--------------------
===================================

\o/ torebki
Go to the top of the page
+Quote Post
Lejto
post 23.01.2008, 16:47:24
Post #5





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

Ostrzeżenie: (0%)
-----


nie wiem czy dobrze zrobiłem
po zamknięciu przeglądarki i po ponownym otwarciu już nie zapamięta
@RubiX możesz pokazać swój skrypt?
tylko w polu text przy logowaniu mam logon i haslo ale to już wcześniej miałem

poszukałe w necie jeszcze i wykombinowałem to:
  1. <?php
  2. $user = $_POST['user'];
  3. $haslo = $_POST['haslo'];
  4. $data = date('d.m.Y H:i:s');
  5.  
  6. $_CONFIG['kxc'] = "a523d703f908dd69e02db64ec35d07315f4c49ab3cacad14a97304b02f2fbb09"; 
  7.  
  8.  
  9.  if(isset($_POST['user']) && isset($_POST['haslo']))
  10. {
  11.  global $_CONFIG; 
  12. if(isset($_COOKIE["dane"])) { 
  13. $dane = $_COOKIE["dane"]^$_CONFIG['kxc']; 
  14. $user = substr($dane, 0, 32); 
  15. $haslo = substr($dane, -32); 
  16. $metod = "cookies"; 
  17. } 
  18. elseif(isset($_SESSION['user']) AND isset($_SESSION['haslo'])) { 
  19. $user = $_SESSION['user']; 
  20. $haslo = $_SESSION['haslo']; 
  21. $metod = "session"; 
  22. } 
  23. elseif(isset($_POST['user']) AND isset($_POST['haslo'])) { 
  24. $user = md5(strtolower($_POST['user'])); 
  25. $haslo = md5($_POST['haslo']); 
  26. $metod = "post"; 
  27. } 
  28.  
  29. // jeżeli użytkownik właśnie podjął próbę zalogowania
  30.  
  31.  
  32. $prawid_uzyt = $_POST['prawid_uzyt'];
  33. if(isset($metod)) { 
  34. $zapytanie = 'select * from $tabela ' ."where user='$user' "." and haslo=sha1('$haslo')";
  35. $wynik = mysql_query($zapytanie) or die("Nie mozna się połączyć z MySQL");
  36. if($rows = mysql_num_rows($wynik) > 0)
  37. {
  38. // jeżeli dane są w bazie zarejestrowanie identyfikatora użytkownika
  39. $_SESSION['prawid_uzyt'] = $user;
  40.  
  41. }
  42.  if($metod <> "session") { 
  43. $wiersz = mysql_fetch_array($wynik); 
  44. $_SESSION['user'] = $wiersz['user']; 
  45. $_SESSION['haslo'] = $wiersz['haslo']; 
  46.  /* Jeśli dane pochodzą z formularz i dodatkowo gość poprosił o zapamiętanie danyc
    h na przyszłość to dodatkowo umieszczamy potrzebne (zaszyfrowane) dane w cisteczkach */
     
  47.  if($metod == "post" AND isset($_POST['pamietaj']) AND $_POST['pamietaj'] == "ok") { 
  48.  $dane = ($user.$haslo)^$_CONFIG['kxc']; 
  49.  setcookie ("dane", $dane,time()+3600*24*365); /* straci ważnosc za rok */ 
  50.  } 
  51. } 
  52.  
  53. }
  54. }
  55. ?>

i kod formularza (nie znajduje się w tym samym pliku co skrypt logujący
  1. <?php $_CONFIG['kxc'] = "a523d703f908dd69e02db64ec35d07315f4c49ab3cacad14a97304b02f2fbb09"; // to chyba jest bez sensu
  2.  
  3.  
  4. global $_CONFIG; // to chyba jest bez sensu
  5.  
  6. ?>
  7.  
  8. <form method=post action="?co=newmembers<?echo $to?>">
  9. <tr>
  10. <td colspan=2></td>
  11. <tr>
  12. <input type="hidden" name="logowanie" value="k">
  13. <td><font size=2px>User:</fotn></td>
  14. <td><input size=10 type=text name=user></td></tr>
  15. <tr>
  16. <td><font size=2px>Hasło:</font></td>
  17. <td><input size=10 type=password name=haslo></td></tr>
  18. <tr>
  19. <td colspan=2 align=center>
  20. <input type="checkbox" name="pamietaj" value="ok"> - Zapamiętaj mnie!<br>
  21. <input type=submit value="Loguj"></td></tr>
  22.  
  23. </table></table></form>

tylko że znowu po zamknięciu przeglądarki i ponownym otworzeniu jej i strony trzeba sie jeszcze raz logować

Ten post edytował Lejto 14.01.2008, 18:47:06


--------------------
Go to the top of the page
+Quote Post
potreb
post 23.01.2008, 16:53:09
Post #6





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Ten przykład na pewno działa, o ile wiem można go znaleźć tu: http://www.strefaphp.net/artykul36.html jakbyś dobrze go przekopiował to zapewne by zadziałało, druga sprawa jak testujesz skrypt sprawdzaj czy został wysłany cookie z danymi i czy nie ma błędów, 2 podczas wysyłania danych jest napisane żeby do zmiennych dodać addslashes

Ten post edytował potreb 23.01.2008, 16:56:11


--------------------

Go to the top of the page
+Quote Post
Lejto
post 2.02.2008, 17:06:01
Post #7





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

Ostrzeżenie: (0%)
-----


skopiowałem jeszcze raz kod ze strony nie odkrawając nic swojego i nawet nie mogę się zalogować
w moim projekcie jest wszystko ok dane są zaszyfrowane w cookie tylko mam problem chyba z sesją bo jak juz wcześniej wspomniałem jeśli user się zaloguje i potem zamknie przeglądarkę i otworzy ją i stronę to jeszcze raz musi się logować a powinien już być zalogowany


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 20:24