Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: logowanie
Forum PHP.pl > Forum > Przedszkole
Starken
Witam!
Pisze skrypt php do rejestracji i logowania użytkowników na stronie. Napisałem już większość potrzebnych funkcji, ale mimo wszystko nie wszystkie działają. Działa mi funkcja rejestrująca (zapisuje dane użytkownika do pliku. Każdy użytkownik jest w zapisywany w następnej linijce. wygląda to tak: "username,pass,email,imie,kod_aktywacyjny" i potem w następnej linijce następny użytkownik), jednak nie działa mi funkcja logująca i wylogowywująca. Wyglądają one następująco:
  1. <?php
  2. $fp = fopen(&#092;"users/users.tda\", \"a+\");
  3. $tabela = file(&#092;"users/users.tda\");
  4.  
  5. *********rożne funkcje itp.************
  6.  
  7. function Login($username,$password)
  8. {
  9. global $tabela;
  10. for($x = 0;$x <= count($tabela);$x++)
  11. {
  12. $User = explode(&#092;",\", $tabela[$x]);
  13. if(($username == $User[0]) && ($password == $User[1]))
  14. {
  15. setcookie(&#092;"dcenter\", \"zalogowany\", 0);
  16. return;
  17. }
  18. }
  19. }
  20.  
  21.  
  22. function Logout()
  23. {
  24. setcookie(&#092;"dcenter\", \"wylogowany\", -3600);
  25. }
  26.  
  27.  
  28.  
  29. function IsLogin()
  30. {
  31. if (isset($_COOKIE[&#092;"dcenter\"])) 
  32. {
  33. return TRUE;
  34. }
  35. else
  36. {
  37. return FALSE;
  38. }
  39. }
  40.  
  41. ************funkcje itp.**************
  42.  
  43. fclose($fp);
  44. ?>

Widać tam jeszcze funkcje IsLogin która sprawdza, czy aktualnie jest osoba odwiedzająca stronę zalogowana. Tylko, że to nie działa (nie tworzy się żadne ciasteczko, a w dodatku mimo, że mogłoby sie wydawać, że bez dziasteczka funkcja IsLogin powinna zwracać FALSE, to ona chamsko zwraca TRUE angrysmiley.gif ). Jaki tam jest błąd? Albo czy pomógłby mi ktoś napisać te funkcje jakoś inaczej??
Ociu
login:
  1. <?php
  2. setcookie(&#092;"dcenter\", \"zalogowany\", time()+3600*24);
  3. ?>

& in_array" title="Zobacz w manualu PHP" target="_manual (sprawdzi, czy wogóle istnieje login i hasło)
logout
  1. <?php
  2. setcookie(&#092;"dcenter\");
  3. ?>
Starken
Mam pytanie do tego in_array:
Czy jak ktoś będzie miał nawe użytkownika np. 'Starken', a ja funkcją in_array wyszukam samo 'Star', to zwróci TRUE, czy FALSE?

PS. A poza tym co jest źle w mojej funkcji, że nie działa?

In_array chyba się nie nada bo np. jak ktoś się nazwie Starken, a hasło ustawi np 'kot', a ktoś inny nazwie się 'kot' i ustawi hasło 'Starken' to będą głupoty...

EDIT:
Odkryłem co było nie tak w Login. Po prostu pierwsza pozycja w tabeli ma indeks 0, a więc jeśli $x miało 0 to mimo, że była ta jedna linijka w tej tabeli (bo była tylko jedna) to pętla nie była wykonywana ani razu. Ale nadal coś nie tak albo z tworzeniem ciasteczka, albo z funkcją IsLogin
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.